/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uY3NzIiwidmFyaWFibGVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9ybWFsaXplLnNjc3Mvbm9ybWFsaXplLnNjc3MiLCJfZ2VuZXJhbC5zY3NzIiwibWl4aW5zLnNjc3MiLCJwYWdlcy9fcHJvamVjdC5zY3NzIiwicGFnZXMvX3dvcmsuc2NzcyIsInBhZ2VzL19iaW9ncmFwaHkuc2NzcyIsInBhZ2VzL19leGhpYml0aW9ucy5zY3NzIiwicGFnZXMvX2NvbnRhY3Quc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxrQkFBaUI7QUFDakIsa0VBQWlFO0FBQ2pFOzs7O0dDaUNFO0FENUJGO0VDOEJFLG9CQUFtRjtFQUtuRixtREFBYTtFQUNELDRXQUFBO0VEaENaLGtCQUFpQjtFQUNqQixvQkFBbUIsRUFBRTs7QUFFdkI7RUNtQ2lGLG9CQUFBO0VBSzdFLDZDQUFhO0VBQ2Isd1VBQVk7RURyQ2Qsa0JBQWlCO0VBQ2pCLG9CQUFtQixFQUFFOztBQUV2QjtFQ3dDRSxvQkFBb0Y7RUFLdkUsb0RBQUE7RUFDYixrWEFBWTtFRDFDWixrQkFBaUI7RUFDakIsb0JBQW1CLEVBQUU7O0FBRXZCO0VDNkNFLG9CQUFrRjtFQUtsRixrREFBYTtFQUNELDhWQUFBO0VEL0NaLGtCQUFpQjtFQUNqQixvQkFBbUIsRUFBRTs7QUFFdkI7RUNrRHFGLG9CQUFBO0VBS25GLG1EQUFhO0VBQ2IsNFdBQVk7RURwRFosa0JBQWlCO0VBQ2pCLG9CQUFtQixFQUFFOztBQUV2QjtFQ3VERSw2QkFBdUU7RUFHMUQsdUNBQUE7RUFDYixpTEFBWTtFRHZEWixrQkFBaUI7RUFDakIsb0JBQW1CLEVBQUU7O0FBRXZCLHVFQUFzRTtBQUN0RTs7OztJRXpDZTtBRjhDZjtFRTdDRSx5QkFBc0I7RUYrQ3RCLFFBQU87RUU5Q21CLDRCQUFBO0VGZ0QxQixRQUFPO0VBQ1AsZ0NBQStCO0VBQy9CLFFBQU8sRUFBRTs7QUFFWDs7SUU1Q1U7QUYrQ1Y7RUFDRSxXQUFVLEVBQUU7O0FBRWQ7aUZBQ2dGO0FBQ2hGOzs7OztJRTFCVztBRmdDWDtFQUNFLGdCQUFlLEVBQUU7O0FBRW5COzs7SUV2Qlc7QUYyQlg7RUUxQkUsdUJBQWdCO0VGNEJoQixRQUFPO0VBQ1AsMEJBQXlCO0VBQ3pCLFFBQU8sRUFBRTs7QUFFWDs7O0lFdkJXO0FGMkJYO0VBQ0UsZUFBYztFQUNkLFdBQVUsRUFBRTs7QUFFZDs7O0lFcEJXO0FGd0JYO0VBQ0UsZUFBYyxFQUFFOztBQUVsQjtpRkFDZ0Y7QUFDaEY7O0lFbEJvQjtBRnFCcEI7RUFDRSwrQkFBOEIsRUFBRTs7QUFFbEM7O0lFZlc7QUZrQlg7RUFDRSxZQUFXLEVBQUU7O0FBRWY7aUZBQ2dGO0FBQ2hGOztJRVppQjtBRmVqQjtFQUNFLDJCQUEwQixFQUFFOztBQUU5Qjs7SUVUZTtBRllmO0VBQ0UsbUJBQWtCLEVBQUU7O0FBRXRCOztJRVBjO0FGVWQ7RUFDRSxvQkFBbUIsRUFBRTs7QUFFdkI7OztJRUphO0FGUWI7RUFDRSxnQkFBZTtFQUNmLGtCQUFpQixFQUFFOztBQUVyQjs7SUVIYztBRk1kO0VBQ0Usa0JBQWlCO0VBQ2pCLGFBQVksRUFBRTs7QUFFaEI7O0lFRGE7QUZJYjtFQUNFLGdCQUFlLEVBQUU7O0FBRW5COztJRUVhO0FGQ2I7RUVDWSxnQkFBQTtFQUNWLGdCQUFnQjtFRkNoQixvQkFBbUI7RUVFckIsMEJBQUEsRUFBQTs7QUZDQTtFRUdBLGFBQUEsRUFBQTs7QUZBQTtFQUNFLGlCQUFnQixFQUFFOztBQUVwQjtpRkFDZ0Y7QUFDaEY7O0lFT1U7QUZKVjtFQUNFLFdBQVUsRUFBRTs7QUFFZDs7SUVTWTtBRk5aO0VBQ0Usa0JBQWlCLEVBQUU7O0FBRXJCO2lGQUNnRjtBQUNoRjs7SUVZVTtBRlRWO0VBQ0Usa0JBQWlCLEVBQUU7O0FBRXJCOztJRWNtQjtBRlhuQjtFQUVFLGlDQUF3QjtVQUF4Qix5QkFBd0I7RUFDeEIsV0FBVSxFQUFFOztBQUVkOztJRWdCWTtBRmJaO0VBQ0UsZ0JBQWUsRUFBRTs7QUFFbkI7O0lFcUJlO0FGbEJmO0VBQ0UsbUNBQWtDO0VBQ2xDLGdCQUFlLEVBQUU7O0FBRW5CO2lGQUNnRjtBQUNoRjs7O0lBR0c7QUFDSDs7Ozs7SUVnQ1M7QUYxQlQ7RUUyQkUsZ0JBQU07RUZ6Qk4sUUFBTztFRTBCQyxlQUFBO0VGeEJSLFFBQU87RUFDUCxXQUFVO0VBQ1YsUUFBTyxFQUFFOztBQUVYOztJRTRCWTtBRnpCWjtFQUNFLG1CQUFrQixFQUFFOztBQUV0Qjs7Ozs7SUVrQ2tCO0FGNUJsQjtFQUNFLHNCQUFxQixFQUFFOztBQUV6Qjs7Ozs7O0lFd0NzQjtBRmpDdEI7RUVrQ0UsNEJBQVE7RUZoQ1IsUUFBTztFQUNQLGlCQUFnQjtFQUNoQixRQUFPLEVBQUU7O0FBRVg7O0lFcUNVO0FGbENWO0VBQ0UsaUJBQWdCLEVBQUU7O0FBRXBCOztJRXdDVTtBRnJDVjtFQUNFLFdBQVU7RUFDVixZQUFXLEVBQUU7O0FBRWY7OztJRTJDZTtBRnZDZjtFQUNFLHFCQUFvQixFQUFFOztBQUV4Qjs7Ozs7O0lFaURjO0FGMUNkO0VFMkNXLGdDQUFBO1VBQUEsd0JBQUE7RUZ6Q1QsUUFBTztFQUNQLFlBQVc7RUFDWCxRQUFPLEVBQUU7O0FBRVg7Ozs7SUVnRFU7QUYzQ1Y7RUFDRSxjQUFhLEVBQUU7O0FBRWpCOzs7O0lFa0RzQjtBRjdDdEI7RUU4Q0UsK0JBQWlCO0VBQ2pCLFFBQW9CO0VBQ1IsaUNBQUE7RUYzQ1osUUFBTztFQUNQLHlCQUF3QixFQUFFOztBQUU1Qjs7OztJRW1Ec0I7QUY5Q3RCO0VBQ0UsMEJBQXlCLEVBQUU7O0FBRTdCOztJRW1EVTtBRmhEVjtFRWtEVywyQkFBQTtFRmhEVCxlQUFjO0VBQ2QsZ0NBQStCLEVBQUU7O0FBRW5DOzs7SUVzRFU7QUZsRFY7RUVtREUsV0FBUztFRmpEVCxRQUFPO0VBQ1AsWUFBVztFQUNYLFFBQU8sRUFBRTs7QUFFWDs7SUVxRFk7QUZsRFo7RUFDRSxnQkFBZSxFQUFFOztBQUVuQjs7O0lFd0RlO0FGcERmO0VBQ0UsbUJBQWtCLEVBQUU7O0FBRXRCO2lGQUNnRjtBQUNoRjs7SUUwRG1CO0FGdkRuQjtFQUNFLDJCQUEwQjtFRTBEeEIsbUJBQUEsRUFBQTs7QUZ2REo7RUdoWEEsWUFBQSxFQUFBOztBSG1YQTtFRy9XQSxrQkFBQSxFQUFBOztBSGtYQTtFQzlRYSxnQkFBQTtFRWhHYixrQkFBTztFSGlYTCxnQ0doWFcsRUFBQTtFSGlYWDtJRzdXRixlQUFBLEVBQUE7O0FIZ1hBO0VHN1dFLG9CQUFZO0VBQ1osZUFBUztFSCtXVCxxQkFBb0I7RUc1V3RCLGVBQUEsRUFBQTs7QUgrV0E7RUc1V0UsaUJBQVM7RUFDVCxhQUFRO0VBQ0ssaUJBQUE7RUFDYixjQUFrQjtFQUNsQixtQkFBSztFQUNDLHdCQUFBO0VBQ04sUUFBTztFQUNQLFNBQVk7RUNoQlYsYUFBQTtFSitYRixnQ0d6WEY7VUh5WEUsd0JHelhGLEVBQUE7RUgwWEU7SUFDRTtNRzdXYSxpQkFBQTtNQ2pCYixjQUFBO01ER0osbUJBQUEsRUFBQSxFQUFBO0VIK1hFO0lBQ0U7TUc3V0EsaUJBQWE7TUFFVCxjQUFBO01BQ0ksbUJBQUEsRUFBQSxFQUFBO0VIOFdWO0lHNVdFLFdBQU87SUFDRyxnQkFBQTtJQUNWLGFBQVM7SUFDYixvQkFBVztJSDhXUCxZRzdXYSxFQUFBO0lIOFdiO01JaFpBLGlCQUFBO01Ka1pFLG1CR2pYSyxFQUFBO01Ia1hMO1FJaFpGO1VEOEJPLG1CQUFBLEVBQUEsRUFBQTtNSHFYTDtRQUNFO1VHMVdSLG1CQUFBLEVBQUEsRUFBQTs7QUg2V0E7RUcxV0UsY0FBUTtFQUNRLGFBQUE7RUg0V2hCLGNHM1dXLEVBQUE7RUg0V1g7SUcxV1MsZ0JBQUE7SUFDUCxhRnpEcUI7SUUwRHJCLGFBQVE7SUFDRSxrQkFBQTtJQUNWLGdCQUFZO0lBQ1osb0JBQVM7SUFDRixxQ0FBQTtZQUFBLDZCQUFBO0lBQ1csWUFBK0I7SUg0V2pELGNHM1dXLEVBQUE7SUg0V1g7TUcxV1UsYUFBQTtNQUNSLGdCQUFPO01BQ1AsYUFBVTtNQUNKLGFBQUE7TUFDTixvQkZ0RW1CO01FdUVuQixTQUFZO01BRUksa0JBQUE7TUFDWCxxQ0FBQTtjQUFBLDZCQUFBLEVBQUE7SUFFVztNQUNoQixXQUFRLEVBQUE7SUFJVTtNQUNQLGNBQUEsRUFBQTtFSHVXZjtJQUNFLG9DR3RXMkI7UUhzVzNCLGdDR3RXMkI7WUhzVzNCLDRCR3RXMkIsRUFBQTtJQUVkO01BQ1Qsb0RBQVc7VUFBWCxnREFBVztjQUFYLDRDQUFXLEVBQUE7SUhzV2Y7TUl6YkEseUNBQUE7VUFBQSxxQ0FBQTtjQUFBLGlDQUFBO01ENkNKLFlBQUEsRUFBQTtFSCtZRTtJSXpiRTtNRDBDSixlQUFBLEVBQUEsRUFBQTtFSGtaRTtJQUNFO01HaldKLGVBQUEsRUFBQSxFQUFBOztBSG9XQTtFR2pXTyxjQUFBO0VBQ0wsaUJBQU07RUFDTixRQUFPO0VBQ0MsU0FBQTtFQUNSLGFBQVk7RUFDWixlQUFTO0VBQ0UsbUJBQUE7RUN4R1QsZUFBQTtFSjRjRiw4Qkc3V0Y7TUg2V0UsMEJHN1dGO1VINldFLHNCRzdXRixFQUFBO0VIOFdFO0lBQ0U7TUdsV0Esa0JBQVE7TUFDUixhQUFTO01BQ0UsY0FBQTtNQzNHWCxnQkFBQTtNRDRGSix5QkFBQTtVQUFBLHFCQUFBO2NBQUEsaUJBQUEsRUFBQSxFQUFBO0VIcVhFO0lBQ0U7TUdsV0Esa0JBQVE7TUFDUixhQUFTO01BQ0UsY0FBQTtNQUVMLGdCQUFBO01BQ0kseUJBQUE7VUFBQSxxQkFBQTtjQUFBLGlCQUFBLEVBQUEsRUFBQTtFSG1XWjtJR2pXRSxvQkFBTTtJQUNOLFVBQVc7SUMzSFgsV0FBQTtJSitkQSwwQ0d4V007UUh3V04sc0NHeFdNO1lId1dOLGtDR3hXTSxFQUFBO0lIeVdOO01BQ0U7UUk5ZEYsa0JBQUE7UURvSE0seUJBQUE7WUFBQSxxQkFBQTtnQkFBQSxpQkFBQSxFQUFBLEVBQUE7SUg2V047TUFDRTtRR2hXSSxrQkFBQTtRQUNXLHlCQUFBO1lBQUEscUJBQUE7Z0JBQUEsaUJBQUEsRUFBQSxFQUFBO0VIa1duQjtJR2hXRSx1QkFBUztJQUNiLFdBQWE7SUhrV1QsWUdqV2tCLEVBQUE7SUhrV2xCO01JNWVBLDJCQUFBO01KOGVFLG9CR3JXTyxFQUFBO01Ic1dQO1FBQ0U7VUdqV0EsYUFBUTtVQzVJWixrQkFBQTtVRHNJUyxnQkFBQSxFQUFBLEVBQUE7TUgyV1A7UUFDRTtVR2pXQSxhQUFRO1VBRUQsa0JBQUE7VUFDTyxnQkFBQSxFQUFBLEVBQUE7TUFHVDtRQUNTLGlCQUFBLEVBQUE7SUhnV2xCO01HOVZFLDJCQUFpQjtNQUNqQixnQkFBVztNQUNELHVCQUFBO01BQ1YsbUJBQVk7TUFDWixvQkFBZ0I7TUFDUCxvQ0FBQTtjQUFBLDRCQUFBO01BQ0Ysd0JBQUM7TUhnV1IsWUcvVlcsRUFBQTtNSGdXWDtRRzlWRSxhQUFPO1FBQ0MsZ0JBQUE7UUFDUixVRjdLbUI7UUU4S25CLGFBQVk7UUFDRixxQkFBQTtRQUNWLG9DQUFLO2dCQUFMLDRCQUFLO1FBQ0wsb0JBQU07UUFDSyxVQUFBO1FBQ1gsU0FBUztRQUVJLHVDQUFBO1lBQUEsbUNBQUE7Z0JBQUEsK0JBQUE7UUFDTixhQUFBLEVBQUE7TUM5S1g7UURnTGdCLGFBQUEsRUFBQTtNSCtWZDtRRzFWUTtVRjVMVyxhQUFBLEVBQUEsRUFBQTtNRHloQm5CO1FBQ0UsYUMxaEJpQixFQUFBO1FEMmhCakI7VUdyVkMsa0JBQUEsRUFBQTs7QUh3VlQ7RUdyVkUsbUJBQTJCO0VBQzNCLGdDQUFVO1VBQVYsd0JBQVU7RUN0TVIsb0JBQUE7RUo4aEJGLG9CRzVWTyxFQUFBO0VINlZQO0lJNWhCRTtNRCtMSyxlQUFBLEVBQUEsRUFBQTtFSGdXUDtJR3JWYztNQUNILGVBQUEsRUFBQSxFQUFBO0VIdVZYO0lBQ0UsWUd6VlksRUFBQTtJSDBWWjtNQUNFO1FHblZOLGVBQUEsRUFBQSxFQUFBOztBSHNWQTtFR2xWQSwyQkFBQSxFQUFBOztBSHFWQTtFR2xWRSxnQkFBSztFQUNMLGlCQUFPO0VBQ0UsV0FBQTtFQzNOUCxVQUFBO0VKZ2pCRixhRzFWRixFQUFBO0VIMlZFO0lBQ0U7TUtsa0JJLFdBQUEsRUFBQSxFQUFBOztBQUdSO0VBQ0ksb0JBQVMsRUFBQTtBTG1rQmI7RUtoa0JRLFlBQUE7RUFDSixzQ0FBK0I7VUFBL0IsOEJBQStCLEVBQUE7QUxra0JuQztFS2hrQlcsb0RBQUE7TUFBQSxnREFBQTtVQUFBLDRDQUFBO0VMa2tCVCwyQktqa0JlO1VMaWtCZixtQktqa0JlLEVBQUE7RUxra0JmO0lLL2pCUyw4QkFBQTtRQUFBLDBCQUFBO1lBQUEsc0JBQUE7SUFDdUIsK0RBQUE7WUFBQSx1REFBQSxFQUFBO0VMaWtCaEM7SUs3akJNLDRFQUFBO1lBQUEsb0VBQUE7SUFDYSwrREFBQTtZQUFBLHVEQUFBLEVBQUE7QUwrakJyQjtFSzdqQkksdUJBQVE7RUpUWSxnQkFBQTtFSVdwQixjQUFTO0VBQ1QsYUFBUztFQUNHLFlBQUE7RUFDWixZQUFVO0VBQ1Ysc0NBQVM7VUFBVCw4QkFBUztFQUU2RCxvQkFBQTtFQUN0RSxZQUFTLEVBQUE7QUw4akJiO0VBQ0UsWUs3akJhLEVBQUE7RUFFdUM7SUFDaEQsYUFBUyxFQUFBO0VMNmpCYjtJQUNFLFlLNWpCNkIsRUFBQTtJQUl6QjtNQUNDLGtFQUFBO2NBQUEsMERBQUEsRUFBQTtBQUVUO0VBQ0ksVUFBVSxFQUFBO0FMeWpCZDtFS3ZqQkksb0JBQU07RUFDTixVQUFXO0VBQ0MsV0FBQTtFQUNaLDBDQUFTO01BQVQsc0NBQVM7VUFBVCxrQ0FBUztFQUNULGlCQUFZO0VEdkNaLFlBQUE7RUppbUJGLG9CS2prQnFCLEVBQUE7RUxra0JyQjtJSS9sQkU7TUM2Qm1CLGtCQUFBLEVBQUEsRUFBQTtFTHFrQnJCO0lLdmpCNkI7TUFDakIsa0JBQUEsRUFBQSxFQUFBO0VMeWpCWjtJSXhtQkUsY0FBQTtJSjBtQkEsYUs1akIyQixFQUFBO0lMNmpCM0I7TUFDRTtRSXptQkYsYUFBQTtRQzJDMkIsY0FBQSxFQUFBLEVBQUE7SUxpa0IzQjtNQUNFO1FBQ0UsYUFBWTtRS25qQkQsY0FBQSxFQUFBLEVBQUE7O0FMc2pCbkI7RUFDRSxhQUFZO0VLampCZCxvQkFBQSxFQUFBOztBTG9qQkE7RUtqakJFLG9CQUFNO0VBQ0UsUUFBQTtFQUNSLFdBQU87RUFDUCxjQUFXO0VBQ1UsWUFBQTtFRDNFbkIsdUNBQUE7TUFBQSxtQ0FBQTtVQUFBLCtCQUFBO0VKK25CRiw2QkszakJGLEVBQUE7RUw0akJFO0lJN25CRTtNQ2lFSixXQUFBLEVBQUEsRUFBQTtFTCtqQkU7SUk3bkJFO01DOERKLFdBQUEsRUFBQSxFQUFBO0VMa2tCRTtJQUNFO01LbGpCQSxTQUFRO01BQ0QsVUFBQTtNQUNQLGFBQVc7TUFFUixhQUFBO01BQ0ksdUNBQUE7VUFBQSxtQ0FBQTtjQUFBLCtCQUFBLEVBQUEsRUFBQTtFQUVYO0lBQ0ksYUFBUyxFQUFBO0VMa2pCWDtJS2hqQkUsYUFBVTtJQUNWLGdCQUFLO0lBQ0Msb0JBQUE7SUFDTixRQUFPO0lBQ1AsU0FBUTtJSjlGSyxhQUFBO0lJZ0diLGNBQVM7SUxrakJULDJCQUEwQjtJSzlpQjlCLGFBQUEsRUFBQTs7QUxpakJBO0VLOWlCVSxhQUFBO0VBQ1Isb0JBQU07RUFDTixXQUFTO0VBQ0csU0FBQTtFQUNaLGlCQUFXO0VBQ1gsZ0NBQVM7VUFBVCx3QkFBUztFRGpIUCxvQ0FBQTtNQUFBLGdDQUFBO1VBQUEsNEJBQUE7RUprcUJGLGFLempCRixFQUFBO0VMMGpCRTtJQUNFO01JOXBCQSxhQUFBO01KZ3FCRSxpQks3akJOLEVBQUE7TUw4akJNO1FJcHFCRjtVQ3NHSixhQUFBLEVBQUEsRUFBQSxFQUFBO0VMaWtCRTtJQUNFO01LOWlCa0IsYUFBQTtNQUNSLGlCQUFBLEVBQUEsRUFBQTtFTGdqQlo7SUs5aUJFLG9CQUFNO0lBQ0MsUUFBQTtJQUNQLFNBQVE7SUFFVSxhQUFBO0lBQ1IsY0FBQSxFQUFBO0VMK2lCWjtJSzVpQm9CLG9CQUFBO0lBQ0Qsa0JBQUEsRUFBQTtFTDhpQm5CO0lLNWlCRSx1QkFBUztJQUNELGtCQUFBO0lBQ1IsZUFBVTtJQUNWLFdBQVM7SUQ5SVQsb0JBQUE7SUo2ckJBLFlLcmpCa0IsRUFBQTtJTHNqQmxCO01JM3JCQTtRQ3FJa0Isb0JBQUEsRUFBQSxFQUFBO0lMeWpCbEI7TUlqc0JBO1FDcUpxQixvQkFBQSxFQUFBLEVBQUE7SUwraUJyQjtNQUNFO1FJL3JCRixhQUFBO1FKaXNCSSxnQktsakJpQixFQUFBO1FMbWpCakI7VUFDRTtZSzdpQkEsV0FBTztZQUNQLGdCQUFVO1lEMUpoQixhQUFBO1lDa0pxQixrQkFBQSxFQUFBLEVBQUEsRUFBQTtJTHlqQnJCO01BQ0U7UUszaUJzRCxhQUFBO1FBQ3pDLGdCQUFBLEVBQUEsRUFBQTtJTDZpQmY7TUszaUJJLG1CQUFRO01BQ1IsZ0JKL0tjO01HT2xCLFdBQUE7TUpzdEJFLGFLbGpCc0QsRUFBQTtNTG1qQnREO1FBQ0U7VUlydEJKLGdCQUFBO1VDaUt3RCxhQUFBLEVBQUEsRUFBQTtNTHVqQnREO1FBQ0U7VUsxaUJvQixnQkFBQTtVSnZGWCxhQUFBLEVBQUEsRUFBQTtJRG9vQmI7TUsxaUJJLHlDQUFlO01EckxuQiwyQkFBQTtNSmt1QkUsb0JLaGpCc0IsRUFBQTtNTGlqQnRCO1FJaHVCRjtVQytLd0IsV0FBQSxFQUFBLEVBQUE7TUxvakJ0QjtRS3ppQnNCO1VBQ0wsV0FBQSxFQUFBLEVBQUE7SUwyaUJuQjtNQUNFLHFCSzdpQnNCLEVBQUE7TUw4aUJ0QjtRQUNFO1VBQ0UsV0szaUJXLEVBQUE7VUw0aUJYO1lJM3VCTixjQUFBO1lDMEx3QixnQkFBQSxFQUFBLEVBQUE7TUxvakJ0QjtRQUNFO1VBQ0UsV0sxaUJXLEVBQUE7VUwyaUJYO1lLdGlCNkIsY0FBQTtZQUN2QixnQkFBQSxFQUFBLEVBQUE7SUx3aUJaO01LbGlCSixXQUFBLEVBQUE7O0FMcWlCQTtFS2xpQkUsb0JBQU07RUFDSyxVQUFBO0VBQ1gsV0FBWTtFQUNaLDBDQUFRO01BQVIsc0NBQVE7VUFBUixrQ0FBUTtFQUNDLG9CQUFBO0VENU5QLFdBQUE7RUppd0JGLFlLNWlCRixFQUFBO0VMNmlCRTtJSS92QkU7TUNrTkosVUFBQSxFQUFBLEVBQUE7RUxnakJFO0lLbGlCcUM7TUFDMUIsVUFBQSxFQUFBLEVBQUE7RUxvaUJYO0lLbGlCa0IsZ0JBQUE7SUFDaEIseUNBQVk7SUFFRCwyQkFBQTtJQUNBLG9DQUFBO1lBQUEsNEJBQUEsRUFBQTtFTG1pQmI7SUtqaUJFLGlCQUFRO0lBQ0ssYUFBQTtJQUNiLGNBQWU7SUFDZixtQkFBUTtJQUNBLDRCQUFBO1lBQUEsb0JBQUE7SUFDUixtQkFBVTtJQUNWLGdCQUFLO0lEbFBMLG9CQUFBO0lKc3hCQSxXSzdpQlcsRUFBQTtJTDhpQlg7TUFDRTtRS2xpQkEsbUJBQU87UUFDQyxpQkFBQTtRQUNSLGNBQWE7UUFDYixlQUFLO1FEdFBQLG9CQUFBO1FDc09XLFdBQUEsRUFBQSxFQUFBO0lMc2pCWDtNQUNFO1FLbGlCQSxtQkFBTztRQUNDLGlCQUFBO1FBQ1IsY0FBYTtRQUNiLGVBQUs7UUFHSSxvQkFBQTtRQUNBLFdBQUEsRUFBQSxFQUFBO0VMa2lCYjtJS2hpQlksaUJBQUE7SUFDVixhQUFLO0lBQ0wsb0JBQVM7SUFDTyxZQUFBO0lEMVFoQixZQUFBO0lKNnlCQSx3Qkt6aUJXLEVBQUE7SUwwaUJYO01BQ0U7UUk1eUJGLFlBQUE7UUNpUVcsa0JBQUEsRUFBQSxFQUFBO0lMOGlCWDtNQUNFO1FBQ0UsWUFBVztRSzloQmQsa0JBQUEsRUFBQSxFQUFBOztBTGlpQkw7RUs5aEJFLG9CQUFRO0VBQ0YsV0FBQTtFQUNOLGVBQU87RUFDUCxhQUFRO0VBQ0ssYUFBQTtFQUNiLGNBQVc7RUFDWCxvQkFBWTtFQUNKLDZCQUFBO01BQUEseUJBQUE7VUFBQSxxQkFBQTtFQUNSLDZFQUFTO1VBQVQsNkRBQVM7RUFDVCxpQkFBUztFRGxTUCxZQUFBO0VKbTBCRixlSzdpQkcsRUFBQTtFTDhpQkg7SUlqMEJFO01DbVJDLGdCQUFBLEVBQUEsRUFBQTtFTGlqQkg7SUs5aEJRO01BQ0ssZ0JBQUEsRUFBQSxFQUFBO0VMZ2lCYjtJSzVoQkYsK0JBQUE7UUFBQSwyQkFBQTtZQUFBLHVCQUFBLEVBQUE7O0FMK2hCQTtFSTcwQkksYUFBQTtFSiswQkYsbUJLamlCRixFQUFBO0VMa2lCRTtJSTcwQkU7TUMyU0osbUJBQUEsRUFBQSxFQUFBO0VMcWlCRTtJSW4xQkU7TUN1VFcsb0JBQUEsRUFBQSxFQUFBO0VMK2hCYjtJSW4xQkU7TUNvVFcsZ0JBQUEsRUFBQSxFQUFBO0VMa2lCYjtJSzFoQmE7TUFDTSxpQkFBQSxFQUFBLEVBQUE7RUw0aEJuQjtJSzFoQkUsdUJBQVM7SUFDVCxXQUFVO0lBQ0MsWUFBRztJTDRoQmQsa0JLM2hCUyxFQUFBO0lMNGhCVDtNQUNFLFlLOWhCWSxFQUFBO01MK2hCWjtRSW4yQkY7VUNvVWMsYUFBQSxFQUFBLEVBQUE7TUxraUJaO1FJbjJCRjtVQ2lVYyxZQUFBLEVBQUEsRUFBQTtNTHFpQlo7UUt6aEJZO1VBQ0wsZ0JBQUEsRUFBQSxFQUFBO0lMMmhCVDtNS3poQmMsYUFBQTtNQUNaLFlBQWU7TUFDZixnQ0FBUztjQUFULHdCQUFTO01BQ0EscUJBQVE7TUwyaEJqQixpQksxaEJpQixFQUFBO01EalZuQjtRQzBVSixrQkFBa0IsRUFBQTtNTG9pQlo7UUFDRTtVSXIzQkosYUFBQTtVQ2dWYyxZQUFBLEVBQUEsRUFBQTtNTHdpQlo7UUFDRTtVSXQzQkosaUJBQUE7VUM2VWMsWUFBQSxFQUFBLEVBQUE7TUw0aUJaO1FBQ0U7VUt2aEJzQixpQkFBQTtVQUNaLGdCQUFBLEVBQUEsRUFBQTtNRHBXZDtRQ3NXdUMsaUNBQUE7Z0JBQUEseUJBQUEsRUFBQTtNTHloQnJDO1FBQ0U7VUt0aEJPLCtCQUE4QjtrQkFBOUIsdUJBQThCO1VMd2hCbkMsa0NLdmhCcUI7a0JMdWhCckIsMEJLdmhCcUIsRUFBQTtVQUVEO1lBQ2hCLGdDQUFpQjtvQkFBakIsd0JBQWlCLEVBQUE7VUFFaEI7WUFDRCxnQ0FBaUI7b0JBQWpCLHdCQUFpQixFQUFBO1VEcFgzQjtZQ3lYbUIsZ0NBQUE7b0JBQUEsd0JBQUEsRUFBQSxFQUFBO01MbWhCakI7UUl6NEJGO1VDc1htQixhQUFBLEVBQUEsRUFBQTtNTHNoQmpCO1FLL2dCcUI7VUFDUCxnQkFBQSxFQUFBLEVBQUE7TUxpaEJkO1FBQ0Usa0JLbmhCbUIsRUFBQTtRTG9oQm5CO1VBQ0U7WUloNkJSLG9CQUFRO1lBQ0ssMEJBQW1CO1lKazZCdEIsV0lqNkJFLEVBQUE7WUprNkJGO2NJaDZCUixvQkFBTTtjQUNDLFFBQUE7Y0FTUCxTQUFBO2NDNlh1QixhQUFBLEVBQUEsRUFBQTtRTDhoQm5CO1VBQ0U7WUkxNkJBLG9CQUFBO1lBQ3dCLDBCQUFBO1lKNDZCdEIsV0kzNkJFLEVBQUE7WUo0NkJGO2NJMTZCRixvQkFBQTtjQUNOLFFBQU87Y0NpWmdCLFNBQUE7Y0FDUCxhQUFBLEVBQUEsRUFBQTtNTDRoQmQ7UUFDRSxrQks5aEJtQixFQUFBO1FMK2hCbkI7VUFDRTtZSXQ3QkEsb0JBQUE7WUFDUSwyQkFBZ0I7WUp3N0J0QixXSXY3QkUsRUFBQTtZSnc3QkY7Y0l0N0JGLG9CQUFBO2NBQ04sUUFBTztjQVNQLFNBQUE7Y0N3WXVCLGFBQUEsRUFBQSxFQUFBO1FMeWlCbkI7VUFDRTtZSWg4QlIsb0JBQVE7WUFDViwyQkFBa0M7WUprOEJ0QixXSWo4QkUsRUFBQTtZSms4QkY7Y0loOEJSLG9CQUFNO2NBQ04sUUFBTztjQzJaYSxTQUFBO2NBQ1AsYUFBQSxFQUFBLEVBQUE7TUx3aUJYO1FLcmlCa0IsZ0JBQUE7UUFDUix1QkFBQSxFQUFBO01MdWlCVjtRQUNFLFdLdGlCUyxFQUFBO1FMdWlCVDtVS3BpQnVCLGFBQUE7VUFDckIsc0VKclVPO2tCSXFVUCxpQ0pyVU8sRUFBQTtRRDIyQlQ7VUtwaUJVLHlDQUF3QjtVTHNpQmhDLGtCS3JpQmlCLEVBQUE7VUxzaUJqQjtZQzE4QlUsa0JBQUE7WUl1YVIsa0JBQWdCO1lBQ2hCLGFBQVc7WUFFbUIsMkJBQUE7WUFDbEIsbUJBQUEsRUFBQTtVTHFpQmQ7WUtuaUJFLGVBQVc7WUpsVlYsZ0JBQUE7WUR3M0JELG1CQUFrQjtZSzloQjlCLGdDQUFBLEVBQUE7O0FMaWlCQTtFSzloQkUsb0JBQU07RUFDQyxXQUFBO0VBQ1AsU0FBUTtFQUNSLGFBQVU7RUQxYlIsY0FBQTtFSjI5QkYsa0JLdmlCRixFQUFBO0VMd2lCRTtJSXo5QkU7TUNpYkosV0FBQSxFQUFBLEVBQUE7RUwyaUJFO0lLOWhCa0I7TUFDTixXQUFBLEVBQUEsRUFBQTtFTGdpQlo7SUs5aEJFLG9CQUFRO0lBQ1IsUUFBUztJQUNPLGNBQUU7SUxnaUJsQixZSy9oQlcsRUFBQTtJTGdpQlg7TUs5aEJFLGdCQUFLO01BQ08sb0JBQUE7TUFDWixRQUFnQjtNQUNoQixvQkFBVztNSmpYQSwyQkFBQTtNSW1YWCxtQkpoY2U7TUlpY2YseUNBQVE7TUFDUSxhQUFBO01BQ0EsV0FBb0I7TUxnaUJwQyx1QkNsK0JxQixFQUFBO01EbStCckI7UUs1aEJnQixnQkFBQTtRQUNULGdDQUFBLEVBQUE7SUw4aEJUO01LNWhCRSxhSjNjZTtNSTZjQSxjQUFBO01BSWYsWUFBTSxFQUFBO0lMMGhCUjtNQUNFLFNLN2hCUSxFQUFBO01EMWRWO1FDd2RKLFNBQXFCLEVBQUE7TUxraUJmO1FLemhCZTtVQUlSLGFBQUEsRUFBQSxFQUFBO0lMd2hCVDtNQUNFLFVLM2hCUyxFQUFBO01EbmVYO1FDaWVnQixVQUFDLEVBQUE7TUxnaUJmO1FBQ0U7VUt0aEJSLGFBQUEsRUFBQSxFQUFBOztBTHloQkE7RUt0aEJFLG9CQUFRO0VBQ0UsYUFBQTtFQUNvQyxjQUEyQjtFTHdoQnpFLGtCS3ZoQlksRUFBQTtFTHdoQlo7SUt0aEJFLG9CQUFPO0lBQ0MsUUFBQTtJQUNSLFlBQXFCO0lEbmZyQixjQUFBO0lKNGdDQSw2Qks5aEJ1RSxFQUFBO0lMK2hCdkU7TUt0aEJtRztRQUMxRixZQUFBLEVBQUEsRUFBQTtJTHdoQlQ7TUt0aEJVLGFBQUE7TUFDUixZQUFVO01BQ1YsY0FBUTtNSjdmRyxvQkFBQTtNSWlnQlUsV0FBQTtNQUNqQiwyQkFBQSxFQUFBO0VMc2hCUjtJS3BoQjZDLFNBQUE7SUxzaEIzQyx3Q0tyaEJRO1FMcWhCUixvQ0tyaEJRO1lMcWhCUixnQ0tyaEJRLEVBQUE7SUFHZTtNQUNoQixTQUFBLEVBQUE7RUxvaEJUO0lLbGhCRixVQUErQztJTG9oQjNDLHVDS25oQlM7UUxtaEJULG1DS25oQlM7WUxtaEJULCtCS25oQlMsRUFBQTtJTG9oQlQ7TUtoaEJKLFVBQUEsRUFBQTs7QUxtaEJBO0VLaGhCRSxvQkFBTztFQUNQLGNBQVM7RUFDRSxhQUFBO0VEcGhCVCxZQUFBO0VKdWlDRix1Q0t4aEJGO01Md2hCRSxtQ0t4aEJGO1VMd2hCRSwrQkt4aEJGLEVBQUE7RUx5aEJFO0lJOWlDRTtNQ3FoQkosWUFBQSxFQUFBLEVBQUE7RUw0aEJFO0lJOWlDRTtNQ2toQkosYUFBQSxFQUFBLEVBQUE7RUwraEJFO0lBQ0U7TUtqaEJBLFVBQVE7TUFDRCxXQUFBO01BQ1AsY0FBVztNQUNYLGFBQVU7TUFFRCwwQ0FBQTtVQUFBLHNDQUFBO2NBQUEsa0NBQUE7TUFDQSw4QkFBQSxFQUFBLEVBQUE7RUxraEJYO0lLaGhCVSx1QkFBQTtJQUNSLGFBQWU7SUFDZixjQUFrQjtJQUNWLDRCQUFBO1lBQUEsb0JBQUE7SUFDUix5QkFBWTtJQUNaLGFBQVE7SUQ5aUJSLDZDQUFBO1lBQUEscUNBQUE7SUppa0NBLGlCSzNoQlMsRUFBQTtJTDRoQlQ7TUFDRTtRS2poQkEsc0NBQWdCO1lBQWhCLGtDQUFnQjtnQkFBaEIsOEJBQWdCO1FBQ0ksWUFBQTtRQUNwQixtQ0FBcUI7Z0JBQXJCLDJCQUFxQjtRQUNyQixrQ0FBMkI7Z0JBQTNCLDBCQUEyQjtRQUU3Qix1Q0FBQTtnQkFBQSwrQkFBQTtRQWpCUyxzRUFBQTtnQkFBQSw4REFBQSxFQUFBLEVBQUE7SUxvaUJUO01BQ0U7UUtqaEJBLGFBQVE7UUFFRSxjQUFBO1FBQ0YsY0FBQSxFQUFBLEVBQUE7SUxraEJWO01LaGhCRSxjQUFNO01BQ00sYUFBQTtNQUNaLGFBQUE7TUxraEJBLHVDS3ZoQlU7Y0x1aEJWLCtCS3ZoQlUsRUFBQTtNTHdoQlY7UUFDRTtVSy9nQk8sYUFBQTtVQUNTLGNBQUEsRUFBQSxFQUFBO0lMaWhCcEI7TUFDRSx5QktoaEJRLEVBQUE7TUxpaEJSO1FBQ0UsYUs1Z0JHLEVBQUE7O0FMOGdCWDtFQUNFO0lBQ0Usc0NBQTZCO1lBQTdCLDhCQUE2QjtJSzNnQmpDLFlBQUEsRUFBQTs7RUw4Z0JFO0lBQ0Usa0NBQXlCO1lBQXpCLDBCQUF5QjtJQUN6QixZSzNnQk8sRUFBQSxFQUFBOztBTG9nQlg7RUFDRTtJQUNFLHNDQUE2QjtZQUE3Qiw4QkFBNkI7SUszZ0JqQyxZQUFBLEVBQUE7O0VMOGdCRTtJQUNFLGtDQUF5QjtZQUF6QiwwQkFBeUI7SUFDekIsWUszZ0JPLEVBQUEsRUFBQTs7QUw2Z0JYO0VBQ0U7SUFDRSxrQ0FBeUI7WUFBekIsMEJBQXlCO0lLMWdCN0IsWUFBQSxFQUFBOztFTDZnQkU7SUFDRSxzQ0FBNkI7WUFBN0IsOEJBQTZCO0lNN25DakMsWUFBQSxFQUFBLEVBQUE7O0FOdW5DQTtFQUNFO0lBQ0Usa0NBQXlCO1lBQXpCLDBCQUF5QjtJSzFnQjdCLFlBQUEsRUFBQTs7RUw2Z0JFO0lBQ0Usc0NBQTZCO1lBQTdCLDhCQUE2QjtJTTduQ2pDLFlBQUEsRUFBQSxFQUFBOztBTmdvQ0E7RUFDRSxxQk1qb0NGLEVBQUE7RU5rb0NFO0lBQ0U7TU05bkNBLGVBQVU7TUFFRSxlQUFBO01BQ0osa0JBQUEsRUFBQSxFQUFBO0VOK25DVjtJTTduQ1UsZ0JBQUE7SUFDUixvQkFBUztJQUNULGVBQVk7SUZFWixtQkFBQTtJSjhuQ0EsZ0NNcm9DWTtZTnFvQ1osd0JNcm9DWSxFQUFBO0lOc29DWjtNSTVuQ0E7UUVWWSxlQUFBLEVBQUEsRUFBQTtJTnlvQ1o7TUFDRTtRTTluQ1EsWUFBQTtRQUdFLGNBQUE7UUFDRixnQkFBQSxFQUFBLEVBQUE7RU44bkNaO0lNNW5DRSxvQkFBUTtJQUNSLGFBQUs7SUFDTyxjQUFBO0lBQ1osVUFBWTtJQUNaLG1CQUFlO0lBQ0gsaUNBQUE7SUFDWiw0QkFBUTtZQUFSLG9CQUFRO0lBQ1osZ0RBQXFCO1lBQXJCLHdDQUFxQjtJTjhuQ2pCLGlCQzdvQ3FCLEVBQUE7SUttQlQ7TUFDSCxxQkFBQSxFQUFBO0VONG5DWDtJTTFuQ1csZUFBQTtJRnRCVCxvQkFBQTtJSm1wQ0EsYU1ob0NZLEVBQUE7SU5pb0NaO01BQ0U7UU0zbkNTLHFCQUFBO1FBQ1QsWUFBTTtRQUlJLGdCQUFBO1FBQ0gsYUFBQSxFQUFBLEVBQUE7RU4wbkNYO0lNeG5DRSxlQUFTO0lGbENULG9CQUFBO0lKNnBDQSxhTTluQ1ksRUFBQTtJTituQ1o7TUFDRTtRTXpuQ0EscUJBQVM7UUFDRixZQUFBO1FBR1EsZ0JBQUE7UUFDUixjQUFBLEVBQUEsRUFBQTtFTnluQ1g7SU12bkNTLGVBQUE7SUY3Q1AsV0FBQTtJSnVxQ0EsYU03bkNpQixFQUFBO0lOOG5DakI7TUFDRTtRTXRuQ1UsV0FBQTtRQUNILGNBQUEsRUFBQSxFQUFBO0VOd25DWDtJTXRuQ0UsWUFBSztJQUNNLGNBQUE7SUFDWCxVQUFVO0lBQ1YsdUNBQU07UUFBTixtQ0FBTTtZQUFOLCtCQUFNO0lBQ0Msb0JBQUE7SUFDUCxTQUFVO0lBQ1YsYUFBWTtJRi9EWixrQkFBQTtJSndyQ0Esa0JNbG9DWSxFQUFBO0lObW9DWjtNQUNFO1FJcHJDRixjQUFBO1FKc3JDSSx5Q010b0NRO1lOc29DUixxQ010b0NRO2dCTnNvQ1IsaUNNdG9DUSxFQUFBO1FOdW9DUjtVQUNFO1lJM3JDTixjQUFBO1lFbURZLHVDQUFBO2dCQUFBLG1DQUFBO29CQUFBLCtCQUFBLEVBQUEsRUFBQSxFQUFBO0lOMm9DWjtNQUNFO1FNdm5DUyxxQkFBQTtRQUNULFFBQVc7UUFDWCxrQkFBUTtRQUNJLHlCQUFBO1lBQUEscUJBQUE7Z0JBQUEsaUJBQUE7UUFFYyxjQUFBO1FBQ25CLGdDQUFBO2dCQUFBLHdCQUFBLEVBQUEsRUFBQTtJTnduQ1Q7TU10bkNXLGFBQUE7TUFDVCxjQUFRO01BQ1IsdUJBQWdCO01GbEZsQixnQkFBQTtNSjJzQ0Usd0JNOW5DMEIsRUFBQTtNTituQzFCO1FBQ0U7VU1wbkNvRSxjQUFBO1VBQ2hFLG9CQUFBLEVBQUEsRUFBQTtFQUVaO0lBQ2EsY0FBQSxFQUFBO0VBRWI7SUFDSSwwQkFBUSxFQUFBO0VOb25DVjtJTWxuQ0Usb0JBQWdCO0lBQ2hCLGFMWGE7SUtZRiwyQkFBQTtJQUNYLHlDQUFlO0lGeEdmLG1CQUFBO0lKNnRDQSxxQk0zbkNZLEVBQUE7SU40bkNaO01BQ0U7UUk1dENGLG1CQUFBO1FFK0ZZLG9CQUFBLEVBQUEsRUFBQTtJTmdvQ1o7TU1qbkNZO1FMbkhXLG1CQUFBLEVBQUEsRUFBQTtFRHV1Q3pCO0lNam5DRSxnQkFBVztJQUNJLFdBQUE7SU5tbkNmLG1CQUFrQjtJTS9tQ2xCLHFCQUFBLEVBQUE7O0FOa25DSjtFTS9tQ0UsYUx6SHVCO0VLMEh2QixjQUFZO0VOaW5DWixlQUFjO0VNL21DQSxvQ0FBQTtVQUFBLDRCQUFBLEVBQUE7O0FOa25DaEI7RU85dkNTLFlBQUEsRUFBQTs7QVBpd0NUO0VPN3ZDUyxrQkFBQTtFQUNMLG9CQUFVLEVBQUE7QVArdkNkO0VPN3ZDWSxvQkFBQTtFQUNSLGFBQVM7RUFFSixjQUFBO0VBQ0ksYUFBQSxFQUFBO0FQOHZDYjtFTzV2Q0kseUJBQVk7RUFDQSxhQUFBO0VBQ1osZ0NBQU87VUFBUCx3QkFBTztFQUNQLG9CQUFTO0VISFQsYUFBQTtFSmt3Q0YseUJPcndDTyxFQUFBO0VQc3dDUDtJQUNFO01PN3ZDRSxhQUFTO01BQ0csWUFBQTtNQUNaLDhCQUFPO01ISFQsZ0NBQUE7Y0FBQSx3QkFBQTtNSm13Q0UsYU81d0NHLEVBQUE7TVA2d0NIO1FBQ0U7VU85dkNBLGFBQVM7VUhWYixhQUFBO1VHTkssMEJBQUEsRUFBQSxFQUFBLEVBQUE7RVBreENQO0lBQ0U7TU83dkNFLGFBQVM7TUFDVCxZQUFZO01BQ0wsZUFBQTtNQUVNLGdDQUFBO2NBQUEsd0JBQUE7TUFDTCxhQUFBLEVBQUEsRUFBQTtFUDh2Q1o7SU81dkNjLFdBQUE7SUFDVixxQkFBVTtJSHJCWixvQkFBQTtJSm94Q0Esa0JPbndDZSxFQUFBO0lQb3dDZjtNSTN4Q0E7UUd1QmUscUJBQUEsRUFBQSxFQUFBO0lQdXdDZjtNQUNFO1FPN3ZDVSxZQUFBO1FBQ1Isa0JBQVU7UUg3QmQsY0FBQTtRSjZ4Q0ksa0JPNXdDVyxFQUFBO1FQNndDWDtVQUNFO1lPOXZDVSxXQUFBO1lIcENoQixxQkFBQTtZR29CZSxvQkFBQSxFQUFBLEVBQUEsRUFBQTtJUGt4Q2Y7TUFDRTtRTzd2Q0UsWUFBUTtRQUNFLGtCQUFBO1FBR0MsY0FBQTtRQUNILGtCQUFBLEVBQUEsRUFBQTtFUDZ2Q2Q7SU8zdkNVLG9CQUFBO0lBQ04sUUFBTztJSC9DVCxXQUFBO0lKNnlDQSxZT2x3Q2UsRUFBQTtJUG13Q2Y7TUFDRTtRSXJ6Q0YsU0FBQTtRR2lEZSxhQUFBLEVBQUEsRUFBQTtJUHV3Q2Y7TUFDRTtRSW56Q0Ysa0JBQUE7UUpxekNJLGFPMXdDVyxFQUFBO1FQMndDWDtVSXp6Q0o7WUc4Q2Usb0JBQUEsRUFBQSxFQUFBLEVBQUE7SVA4d0NmO01BQ0U7UU96dkNHLGtCQUFBO1FBQ0csWUFBQSxFQUFBLEVBQUE7QVAydkNaO0VBQ0UsbUJPN3ZDTyxFQUFBO0VQOHZDUDtJSXIwQ0U7TUd1RUsscUJBQUEsRUFBQSxFQUFBO0VQaXdDUDtJQUNFO01PMXZDRSxXQUFTO01BQ1QsWUFBWTtNQUNMLDhCQUFBO01IM0VULGdDQUFBO2NBQUEsd0JBQUE7TUp3MENFLGNPdndDRyxFQUFBO01Qd3dDSDtRQUNFO1VPM3ZDTyx3QkFBQTtVSGxGWCxhQUFBO1VHb0VLLGFBQUEsRUFBQSxFQUFBLEVBQUE7RVA2d0NQO0lBQ0U7TU8xdkNXLFdBQUE7TUFDVCxZQUFZO01BQ1osZUFBTztNQUdKLGdDQUFBO2NBQUEsd0JBQUE7TUFDRSxjQUFBLEVBQUEsRUFBQTtBUDB2Q1g7RUNod0NpQixjQUFBO0VNU2IsMkJBQWE7RUFDYix5Q0FBVztFQUNILGtCQUFBO0VBQ1IsaUJBQWdCO0VIdkdoQixvQkFBQTtFSmsyQ0YsdUJPbHdDTyxFQUFBO0VQbXdDUDtJSWgyQ0U7TUc2RkssbUJBQUEsRUFBQSxFQUFBO0VQc3dDUDtJT3h2Q21CO01OdkdHLG1CQUFBLEVBQUEsRUFBQTtFTTJHZjtJTnRCUyxnQkFBQSxFQUFBO0FEK3dDbEI7RU90dkNJLG9DTjlHb0I7RUdKcEIsbUJBQUE7RUoyMkNGLGdCTzV2Q08sRUFBQTtFUDZ2Q1A7SUFDRTtNT3Z2Q0UsYUFBUztNQUNHLFlBQUE7TUFFZCxxQkFBQTtNQVZLLGdDQUFBO2NBQUEsd0JBQUEsRUFBQSxFQUFBO0VQbXdDUDtJT3R2Q2U7TUFDRCxtQkFBQSxFQUFBLEVBQUE7RUFFUDtJQUNTLGtCQUFBLEVBQUE7RVB1dkNoQjtJSTEzQ0Usa0JBQUE7SUo0M0NBLGNPMXZDYSxFQUFBO0lQMnZDYjtNQUNFO1FBQ0UsYU83dkNTLEVBQUE7UVA4dkNUO1VJNzNDSjtZRytIYSxjQUFBLEVBQUEsRUFBQSxFQUFBO0lQaXdDYjtNSWg0Q0E7UUc0SVksYUFBQSxFQUFBLEVBQUE7RVB1dkNkO0lBQ0U7TU9wdkNnQixZQUFBO01Qc3ZDZCxxQkFBb0I7TVF0NUNsQixnQ0FBQTtjQUFBLHdCQUFBLEVBQUEsRUFBQTs7QVJ5NUNSO0VRdDVDSSxvQkFBZTtFQUNmLG1CQUFRO0VBQ0UsNEJBQUE7VUFBQSxvQkFBQTtFQUNWLGdCQUFXO0VBQ1gsb0JBQU87RUFDQyxtQkFBQTtFQUNSLGNBQWE7RUFDYixlQUFLO0VKTUwsb0JBQUE7RUptNUNGLFdRbjZDTSxFQUFBO0VSbzZDTjtJQUNFO01RdjVDRSxtQkFBUTtNQUNLLGNBQUE7TUFDYixlQUFLO01BRW9CLG9CQUFBO01BQ2hCLFdBQUEsRUFBQSxFQUFBO0VSdzVDYjtJUXI1Q1MsdUJBQUE7SUFDTCxnQkFBVyxFQUFBO0VBRWpCO0lBQ00seUNBQVc7UUFBWCxxQ0FBVztZQUFYLGlDQUFXLEVBQUE7RUFHVDtJQUNNLHlDQUFBO1FBQUEscUNBQUE7WUFBQSxpQ0FBQSxFQUFBO0FBRWQ7RUFDWSxrQkFBQSxFQUFBO0FSbTVDWjtFUWo1Q0ksV0FBaUI7RUFDYixZQUFHO0VSbTVDVCx1QlFsNUNjLEVBQUE7RVJtNUNkO0lBQ0Usb0JRbDVDYSxFQUFBO0lSbTVDYjtNUWo1Q0ksYUFBUTtNQUNELGdCQUFBO01BQ1AsZUFBWTtNQUNaLFlBQVE7TUo1QloscUJBQUE7TUpnN0NFLG1CUTE1Q08sRUFBQTtNUjI1Q1A7UVFoNUNPO1VBQ1UsZUFBQSxFQUFBLEVBQUE7SVJrNUNuQjtNQUNFLHNCUWo1Q2EsRUFBQTtNQUlSO1FBQ0ssZUFBQSxFQUFBO0VSKzRDZDtJUTU0Q1Msb0JBQUE7SUFDSyxjQUFBLEVBQUE7RVI4NENkO0lRNTRDSSxvQkFBSztJQUNLLFNBQUE7SUFDVixRQUFRO0lBQ1Isa0JBQVM7SUFDRixXQUFBO0lBQ1AsWVBvQ1c7SU9uQ1gsYUFBZ0I7SUFDSix5Q0FBQTtJQUNaLHNCQUFnQjtJQUNoQixvQkFBYTtJQUNKLDJCQUFBO0lBQ1QsbUJQakRjO0lPa0RkLGdCQUFXO0lBQ0ssZ0JBQUE7SUovRGxCLGlCQUFBO0lKODhDQSx1QlEvNUNPLEVBQUE7SVJnNkNQO01JNThDQTtRSTRDTyxpQkFBQSxFQUFBLEVBQUE7SVJtNkNQO01RMzRDTztRQUNFLGlCQUFBLEVBQUEsRUFBQTtFUjY0Q1g7SUMxM0NlLFlBQUE7SU9oQlgsZ0JBQVU7SUFDVix5Q0FBUztJQUNPLG9CQUFBO0lBQ2hCLFlBQVk7SUFDWixzQkFBZ0I7SUFDVCxvQkFBQTtJQUNQLDJCQUFXO0lBQ1gsY0FBZ0I7SUFDZCxpQkFBTTtJUjY0Q1YsdUJRNTRDVyxFQUFBO0lSNjRDWDtNSWorQ0EsY0FBQTtNSXVFSSx1QkFBRyxFQUFBO0lSNjVDUDtNSWorQ0E7UUlvRU8saUJBQUEsRUFBQSxFQUFBO0lSZzZDUDtNQUNFO1FTci9DRyxpQkFBQSxFQUFBLEVBQUE7O0FBR0E7RUFDTCxzQkFBZ0IsRUFBQTtBVHMvQ3BCO0VDcC9Dc0IsMkJBQUE7RVFFYixXQUFBO0VBQ0wsYUFBUyxFQUFBO0FUcS9DYjtFQUNFLGVTdi9DTyxFQUFBO0VUdy9DUDtJQUNFO01BQ0UsZ0JTMS9DRyxFQUFBO01UMi9DSDtRSW4vQ0Y7VUtSSyxlQUFBLEVBQUEsRUFBQSxFQUFBO0VUOC9DUDtJU2wvQ087TUFlRSxnQkFBQSxFQUFBLEVBQUE7QVRzK0NYO0VJNS9DSSxZQUFBO0VKOC9DRixnQlN0L0NtQixFQUFBO0VUdS9DbkI7SUFDRTtNQUNFLGVTei9DZSxFQUFBO01UMC9DZjtRSS8vQ0Y7VUtLaUIsZ0JBQUEsRUFBQSxFQUFBLEVBQUE7RVQ2L0NuQjtJU24vQ2tDO01BQ2hCLGVBQUEsRUFBQSxFQUFBO0VMbkJoQjtJS09KLGlCQUFTLEVBQUE7RVRtZ0RQO0lBQ0U7TVNoL0NFLG1CQUFVO01BQ0gsb0JBQUE7TUFDUCxvQkFBSztNQUNMLFlBQU07TUFDSyxVQUFBO01MekJiLFdBQUE7TUo0Z0RFLDBDUzNnREc7VVQyZ0RILHNDUzNnREc7Y1QyZ0RILGtDUzNnREcsRUFBQTtNVDRnREg7UUloaERGO1VLSUssa0JBQUEsRUFBQSxFQUFBLEVBQUE7RVQrZ0RQO0lBQ0U7TVNoL0NFLG1CQUFVO01BQ1Ysb0JBQU87TUFDRixvQkFBQTtNQUNMLFlBQU07TUFDTixVQUFXO01BRUksV0FBQTtNQUNMLDBDQUFBO1VBQUEsc0NBQUE7Y0FBQSxrQ0FBQSxFQUFBLEVBQUE7RVRpL0NkO0lBQ0Usb0JTLytDZSxFQUFBO0lBSUU7TUFDTCxZQUFBLEVBQUE7RVQ2K0NkO0lTMytDSSxvQkFBTTtJQUNHLFdBQUE7SUFDVCxTQUFRO0lBQ1IsZ0JBQU87SVJsRFUsYUFBQTtJUW9EakIsYUFBUztJQUNULHFCQUFZO0lBRUcsWUFBQTtJQUNKLDBDQUFBO1lBQUEsa0NBQUEsRUFBQTtFVDQrQ2Y7SVMxK0NJLGtCQUFZO0lSMURLLHVCQUFBO0lRNERqQixrQkFBVTtJQUNWLGdCQUFZO0lBQzRCLG9CQUFzQztJVDQrQ2hGLHdDQ3ppRGtCO1lEeWlEbEIsZ0NDemlEa0IsRUFBQTtJRDBpRGxCO01TeCtDaUIsZ0JBQUE7TUFDQyxZQUFBLEVBQUE7RVQwK0NwQjtJU3grQ0ksMkJBQWE7SUFDQSxnQkFBQTtJQUNiLGtCQUFTO0lBQ1Qsa0JBQVE7SUFFTyxnQkFBQTtJQUNSLFdBQUEsRUFBQTtFVHkrQ1g7SVN2K0NJLGFBQVE7SUFDSSwrQkFBQTtJQUNaLDJCQUFlO0lBQ2YsZ0NBQW9CO1lBQXBCLHdCQUFvQjtJQUVMLDBCQUFBO1lBQUEsa0JBQUE7SUFDTCwwQkFBQSxFQUFBO0VUdytDZDtJQUNFLG9CUzErQ2lCLEVBQUE7SVQyK0NqQjtNQUNFO1FJbGtERixjQUFBO1FKb2tESSxtQlM5K0NhLEVBQUE7UVQrK0NiO1VBQ0U7WUl6a0ROLGFBQUE7WUt5RmlCLFdBQUEsRUFBQSxFQUFBLEVBQUE7SVRtL0NqQjtNQUNFO1FTdCtDd0IsY0FBQTtRQUNiLG1CQUFBLEVBQUEsRUFBQTtJVHcrQ2I7TUlubERBLGVBQUE7TUpxbERFLGFTMytDd0IsRUFBQTtNVDQrQ3hCO1FBQ0U7VUFDRSxnQlM5K0NvQixFQUFBO1VUKytDcEI7WUl0bEROO2NLdUcwQixlQUFBLEVBQUEsRUFBQSxFQUFBO01Uay9DeEI7UVN0K0NzQztVQUM3QixnQkFBQSxFQUFBLEVBQUE7TUFFTTtRQUNYLFdBQUssRUFBQTtNQUU2QjtRQUNsQyxXQUFLLEVBQUE7TUFHZTtRQUNmLFlBQUEsRUFBQTtJVG8rQ1g7TVNsK0NZLGFBQUE7TUFDUiwrQkFBWTtNQUNaLDJCQUFlO01BQ0ssZ0NBQUE7Y0FBQSx3QkFBQTtNQUNQLDBCQUFpQjtjQUFqQixrQkFBaUI7TVRvK0NoQywwQlNuK0NhLEVBQUE7TUx4SWY7UUtnSTBCLFlBQUEsRUFBQTtNVDgrQ3hCO1FBQ0U7VUl6bURKLFdBQUE7VUoybURNLGNTai9Db0IsRUFBQTtVVGsvQ3BCO1lBQ0U7Y0lobkRSLDJCQUFBO2NLNkgwQixjQUFBLEVBQUEsRUFBQSxFQUFBO01Ucy9DeEI7UUFDRTtVU2wrQ1UsK0JBQUE7VUFJRyxXQUFBO1VBQ0gsY0FBQSxFQUFBLEVBQUE7RUFFbEI7SUFDTSxvQkFBWSxFQUFBO0VUZytDaEI7SVM5OUNJLHFCQUFnQjtJQUNoQixjQUFRO0lBQ0MsMkJBQUE7SUFDVCxXQUFXO0lBQ1gsb0JBQWE7SUFDRCxpQkFBQTtJQUNaLGdCQUFlO0lMcktqQixpQkFBQTtJSnNvREEsMEJTMStDaUI7WVQwK0NqQixrQlMxK0NpQixFQUFBO0lUMitDakI7TUFDRTtRQUNFLFdTNytDYSxFQUFBO1FUOCtDYjtVSXZvREo7WUt5SmlCLGlCQUFBLEVBQUEsRUFBQSxFQUFBO0lUaS9DakI7TVM3OUNpQjtRQUNKLFdBQUEsRUFBQSxFQUFBO0VUKzlDZjtJUzc5Q0ksbUJBQVE7SVQrOUNWLDJCQUEwQjtJQUMxQixzQkFBcUIsRUFBRSIsImZpbGUiOiJtYWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgdXJsKGh0dHA6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU1lcnJpd2VhdGhlcik7XG4vKlxuICogVGhlbWUgTmFtZTogRGFuaWVsZSBNYXRhbG9uXG4gKiBEZXNjcmlwdGlvbjogRGFuaWVsZSBNYXRhbG9uIHdlYnNpdGUgdGhlbWUgLSBCYXNlZCBvbiBUaW1iZXJcbiAqIEF1dGhvcjogQm9sZCtCZXlvbmR8QXVyw6lsaWVuIERpYXNcbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdESU4nO1xuICBzcmM6IHVybCgnZm9udHMvZGluX2FsdGVybmF0ZV9saWdodC13ZWJmb250LmVvdCcpO1xuICBzcmM6IHVybCgnZm9udHMvZGluX2FsdGVybmF0ZV9saWdodC13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIHVybCgnZm9udHMvZGluX2FsdGVybmF0ZV9saWdodC13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCB1cmwoJ2ZvbnRzL2Rpbl9hbHRlcm5hdGVfbGlnaHQtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIHVybCgnZm9udHMvZGluX2FsdGVybmF0ZV9saWdodC13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgdXJsKCdmb250cy9kaW5fYWx0ZXJuYXRlX2xpZ2h0LXdlYmZvbnQuc3ZnI2Rpbl9hbHRlcm5hdGVfbGlnaHRyZWd1bGFyJykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0RJTic7XG4gIHNyYzogdXJsKCdmb250cy9kaW5fYWx0ZXJuYXRlLXdlYmZvbnQuZW90Jyk7XG4gIHNyYzogdXJsKCdmb250cy9kaW5fYWx0ZXJuYXRlLXdlYmZvbnQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgdXJsKCdmb250cy9kaW5fYWx0ZXJuYXRlLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIHVybCgnZm9udHMvZGluX2FsdGVybmF0ZS13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgdXJsKCdmb250cy9kaW5fYWx0ZXJuYXRlLXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLCB1cmwoJ2ZvbnRzL2Rpbl9hbHRlcm5hdGUtd2ViZm9udC5zdmcjZGluX2FsdGVybmF0ZXJlZ3VsYXInKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRElOJztcbiAgc3JjOiB1cmwoJ2ZvbnRzL2Rpbl9hbHRlcm5hdGVfbWVkaXVtLXdlYmZvbnQuZW90Jyk7XG4gIHNyYzogdXJsKCdmb250cy9kaW5fYWx0ZXJuYXRlX21lZGl1bS13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIHVybCgnZm9udHMvZGluX2FsdGVybmF0ZV9tZWRpdW0td2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgdXJsKCdmb250cy9kaW5fYWx0ZXJuYXRlX21lZGl1bS13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgdXJsKCdmb250cy9kaW5fYWx0ZXJuYXRlX21lZGl1bS13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgdXJsKCdmb250cy9kaW5fYWx0ZXJuYXRlX21lZGl1bS13ZWJmb250LnN2ZyNkaW5fYWx0ZXJuYXRlX21lZGl1bXJlZ3VsYXInKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRElOJztcbiAgc3JjOiB1cmwoJ2ZvbnRzL2Rpbl9hbHRlcm5hdGVfYm9sZC13ZWJmb250LmVvdCcpO1xuICBzcmM6IHVybCgnZm9udHMvZGluX2FsdGVybmF0ZV9ib2xkLXdlYmZvbnQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgdXJsKCdmb250cy9kaW5fYWx0ZXJuYXRlX2JvbGQtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgdXJsKCdmb250cy9kaW5fYWx0ZXJuYXRlX2JvbGQtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIHVybCgnZm9udHMvZGluX2FsdGVybmF0ZV9ib2xkLXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLCB1cmwoJ2ZvbnRzL2Rpbl9hbHRlcm5hdGVfYm9sZC13ZWJmb250LnN2ZyNkaW5fYWx0ZXJuYXRlYm9sZCcpIGZvcm1hdCgnc3ZnJyk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdESU4nO1xuICBzcmM6IHVybCgnZm9udHMvZGluX2FsdGVybmF0ZV9ibGFjay13ZWJmb250LmVvdCcpO1xuICBzcmM6IHVybCgnZm9udHMvZGluX2FsdGVybmF0ZV9ibGFjay13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIHVybCgnZm9udHMvZGluX2FsdGVybmF0ZV9ibGFjay13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCB1cmwoJ2ZvbnRzL2Rpbl9hbHRlcm5hdGVfYmxhY2std2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIHVybCgnZm9udHMvZGluX2FsdGVybmF0ZV9ibGFjay13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgdXJsKCdmb250cy9kaW5fYWx0ZXJuYXRlX2JsYWNrLXdlYmZvbnQuc3ZnI2Rpbl9hbHRlcm5hdGVfYmxhY2tyZWd1bGFyJykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0Z1dHVyYSBIZWF2eSc7XG4gIHNyYzogdXJsKCdmb250cy9GdXR1cmFTdGQtSGVhdnkuZW90Jyk7XG4gIHNyYzogdXJsKCdmb250cy9GdXR1cmFTdGQtSGVhdnkuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgdXJsKCdmb250cy9GdXR1cmFTdGQtSGVhdnkud29mZicpIGZvcm1hdCgnd29mZicpLCB1cmwoJ2ZvbnRzL0Z1dHVyYVN0ZC1IZWF2eS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG4vKiEgbm9ybWFsaXplLnNjc3MgdjAuMS4wIHwgTUlUIExpY2Vuc2UgfCBiYXNlZCBvbiBnaXQuaW8vbm9ybWFsaXplICovXG4vKipcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50IGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmdcbiAqICAgIHVzZXIgem9vbS5cbiAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICogYW5kIEZpcmVmb3guXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICovXG5hcnRpY2xlLCBhc2lkZSwgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtYWluLCBtZW51LCBuYXYsIHNlY3Rpb24sIHN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cbmF1ZGlvLCBjYW52YXMsIHByb2dyZXNzLCB2aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gKi9cbltoaWRkZW5dLCB0ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IHdoZW4gZm9jdXNlZCBhbmQgYWxzbyBtb3VzZSBob3ZlcmVkIGluIGFsbCBicm93c2Vycy5cbiAqL1xuYTphY3RpdmUsIGE6aG92ZXIge1xuICBvdXRsaW5lOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDsgfVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuYiwgc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsIHN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICovXG5pbWcge1xuICBib3JkZXI6IDA7IH1cblxuLyoqXG4gKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxuICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5ociB7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyoqXG4gKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmNvZGUsIGtiZCwgcHJlLCBzYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAqL1xuLyoqXG4gKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuYnV0dG9uLCBpbnB1dCwgb3B0Z3JvdXAsIHNlbGVjdCwgdGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovXG4gIG1hcmdpbjogMDtcbiAgLyogMyAqLyB9XG5cbi8qKlxuICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbiwgc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICovXG5idXR0b24sIGh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgaW5wdXRbdHlwZT1cInJlc2V0XCJdLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvKiAzICovIH1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5idXR0b25bZGlzYWJsZWRdLCBodG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLCBpbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4vKipcbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cblxuLyoqXG4gKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4gKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICpcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICovXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gKi9cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWVcbiAqICAgIChpbmNsdWRlIGAtbW96YCB0byBmdXR1cmUtcHJvb2YpLlxuICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMiAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAqL1xubGVnZW5kIHtcbiAgYm9yZGVyOiAwO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyoqXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKiBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDsgfVxuXG50ZCwgdGgge1xuICBwYWRkaW5nOiAwOyB9XG5cbmh0bWwge1xuICBmb250LXNpemU6IDYyLjUlOyB9XG5cbmJvZHkge1xuICBjb2xvcjogIzViNWI1YjtcbiAgZm9udC1zaXplOiAxLjZlbTtcbiAgZm9udC1mYW1pbHk6ICdESU4nLCBzYW5zLXNlcmlmOyB9XG4gIGJvZHkgPiBzdmcge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxucHJlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDAwO1xuICBiYWNrZ3JvdW5kOiAjRjBGMEYwO1xuICBwYWRkaW5nOiA0MHB4OyB9XG5cbi5oZWFkZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDIwO1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2ODFweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIC5oZWFkZXIge1xuICAgICAgcGFkZGluZzogMCA0MHB4O1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5oZWFkZXIge1xuICAgICAgcGFkZGluZzogMCA1NXB4O1xuICAgICAgaGVpZ2h0OiA1NXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDU1cHg7IH0gfVxuICAuaGVhZGVyIGgxIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAuaGVhZGVyIGgxIGEge1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjgxcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgLmhlYWRlciBoMSBhIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDsgfSB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgICAuaGVhZGVyIGgxIGEge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4OyB9IH1cblxuLm9wZW4tbW9iaWxlLW1lbnUge1xuICBmbG9hdDogcmlnaHQ7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7IH1cbiAgLm9wZW4tbW9iaWxlLW1lbnUgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICBtYXJnaW46IDE5cHggMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgLm9wZW4tbW9iaWxlLW1lbnUgc3BhbjpiZWZvcmUsIC5vcGVuLW1vYmlsZS1tZW51IHNwYW46YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbjsgfVxuICAgIC5vcGVuLW1vYmlsZS1tZW51IHNwYW46YmVmb3JlIHtcbiAgICAgIHRvcDogLThweDsgfVxuICAgIC5vcGVuLW1vYmlsZS1tZW51IHNwYW46YWZ0ZXIge1xuICAgICAgYm90dG9tOiAtOHB4OyB9XG4gIC5vcGVuLW1vYmlsZS1tZW51LmNsb3NlIHNwYW4ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0yMjVkZWcpOyB9XG4gICAgLm9wZW4tbW9iaWxlLW1lbnUuY2xvc2Ugc3BhbjpiZWZvcmUge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpIHRyYW5zbGF0ZSg4cHgsIDApOyB9XG4gICAgLm9wZW4tbW9iaWxlLW1lbnUuY2xvc2Ugc3BhbjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIC04cHgpO1xuICAgICAgb3BhY2l0eTogMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4MXB4KSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLm9wZW4tbW9iaWxlLW1lbnUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLm9wZW4tbW9iaWxlLW1lbnUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbiNuYXYtbWFpbiB7XG4gIGZsb2F0OiByaWdodDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgdHJhbnNmb3JtOiBzY2FsZSguOSk7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2ODFweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICNuYXYtbWFpbiB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgI25hdi1tYWluIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9IH1cbiAgI25hdi1tYWluIC5uYXYge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4MXB4KSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAjbmF2LW1haW4gLm5hdiB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICNuYXYtbWFpbiAubmF2IHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgdHJhbnNmb3JtOiBub25lOyB9IH1cbiAgI25hdi1tYWluIHVsIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAjbmF2LW1haW4gdWwgbGkge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2ODFweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgICAjbmF2LW1haW4gdWwgbGkge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgbWFyZ2luOiAwIDIwcHg7IH0gfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICAgI25hdi1tYWluIHVsIGxpIHtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIG1hcmdpbjogMCAyMHB4OyB9IH1cbiAgICAgICNuYXYtbWFpbiB1bCBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgI25hdi1tYWluIHVsIGEge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGNvbG9yOiAjYWVhZWFlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAuM3MgZWFzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgICB6LWluZGV4OiAyOyB9XG4gICAgICAjbmF2LW1haW4gdWwgYTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgYmFja2dyb3VuZDogI2FlYWVhZTtcbiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggLjNzIGVhc2U7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgICAgICB6LWluZGV4OiAtMTsgfVxuICAgICAgI25hdi1tYWluIHVsIGEuYWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgICAjbmF2LW1haW4gdWwgYTpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAgICNuYXYtbWFpbiB1bCBhLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgICAgICNuYXYtbWFpbiB1bCBhLmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDA7IH1cblxuI2NvbnRlbnQgYXJ0aWNsZSB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiA0MHB4IDIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4MXB4KSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgI2NvbnRlbnQgYXJ0aWNsZSB7XG4gICAgICBwYWRkaW5nOiA0MHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAjY29udGVudCBhcnRpY2xlIHtcbiAgICAgIHBhZGRpbmc6IDU1cHg7IH0gfVxuICAjY29udGVudCBhcnRpY2xlLnBvc3QtdHlwZS13b3JrIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICNjb250ZW50IGFydGljbGUucG9zdC10eXBlLXdvcmsge1xuICAgICAgICBwYWRkaW5nOiA1NXB4OyB9IH1cblxuLmJhY2tncm91bmQtZ3JleSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlOGU4ZTg7IH1cblxuI2JhZGdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA2MHB4O1xuICByaWdodDogMDtcbiAgei1pbmRleDogMzA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAjYmFkZ2Uge1xuICAgICAgdG9wOiAzMHB4OyB9IH1cblxuI3Bvc3QtMiAud3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuI3Bvc3QtMiAucHJvamVjdC1jb3ZlcjpiZWZvcmUge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBlYXNlOyB9XG4jcG9zdC0yIGgxIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoLjUpO1xuICBwZXJzcGVjdGl2ZTogMTAwMDsgfVxuICAjcG9zdC0yIGgxIC5wcmVmaXgge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjUpO1xuICAgIHRyYW5zaXRpb246IGFsbCAuNHMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpOyB9XG4gICNwb3N0LTIgaDEgLnN1ZmZpeCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTI1JSkgcm90YXRlM2QoMSwgMCwgMCwgMjBkZWcpIHNjYWxlKDEuMDUpO1xuICAgIHRyYW5zaXRpb246IGFsbCAuNXMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpOyB9XG4jcG9zdC0yIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGNvbG9yOiAjZmZmO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBlYXNlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7IH1cbiNwb3N0LTI6bm90KC5sb2FkaW5nLXByb2plY3QpIC5wcm9qZWN0LWNvdmVyOmhvdmVyLCAjcG9zdC0yIC5wcm9qZWN0LWNvdmVyLmFjdGl2ZSB7XG4gIHotaW5kZXg6IDE7IH1cbiAgI3Bvc3QtMjpub3QoLmxvYWRpbmctcHJvamVjdCkgLnByb2plY3QtY292ZXI6aG92ZXI6YmVmb3JlLCAjcG9zdC0yIC5wcm9qZWN0LWNvdmVyLmFjdGl2ZTpiZWZvcmUge1xuICAgIG9wYWNpdHk6IC41OyB9XG4gICNwb3N0LTI6bm90KC5sb2FkaW5nLXByb2plY3QpIC5wcm9qZWN0LWNvdmVyOmhvdmVyIGEsICNwb3N0LTIgLnByb2plY3QtY292ZXIuYWN0aXZlIGEge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgICAjcG9zdC0yOm5vdCgubG9hZGluZy1wcm9qZWN0KSAucHJvamVjdC1jb3Zlcjpob3ZlciBhIC5wcmVmaXgsICNwb3N0LTI6bm90KC5sb2FkaW5nLXByb2plY3QpIC5wcm9qZWN0LWNvdmVyOmhvdmVyIGEgLnN1ZmZpeCwgI3Bvc3QtMiAucHJvamVjdC1jb3Zlci5hY3RpdmUgYSAucHJlZml4LCAjcG9zdC0yIC5wcm9qZWN0LWNvdmVyLmFjdGl2ZSBhIC5zdWZmaXgge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgcm90YXRlM2QoMSwgMCwgMCwgMCkgc2NhbGUoMSk7IH1cbiNwb3N0LTIgLnByb2plY3QtdGl0bGUge1xuICB0b3A6IDUwJTsgfVxuI3Bvc3QtMiAucHJvamVjdC1jb3ZlciAubG9hZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICB6LWluZGV4OiAxO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2ODFweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICNwb3N0LTIgLnByb2plY3QtY292ZXIgLmxvYWRlciB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAjcG9zdC0yIC5wcm9qZWN0LWNvdmVyIC5sb2FkZXIge1xuICAgICAgbWFyZ2luLXRvcDogMTVweDsgfSB9XG4gICNwb3N0LTIgLnByb2plY3QtY292ZXIgLmxvYWRlciBzdmcge1xuICAgIGhlaWdodDogMzRweDtcbiAgICB3aWR0aDogMzRweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjgxcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICNwb3N0LTIgLnByb2plY3QtY292ZXIgLmxvYWRlciBzdmcge1xuICAgICAgICB3aWR0aDogNzBweDtcbiAgICAgICAgaGVpZ2h0OiA3MHB4OyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgI3Bvc3QtMiAucHJvamVjdC1jb3ZlciAubG9hZGVyIHN2ZyB7XG4gICAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgICBoZWlnaHQ6IDcwcHg7IH0gfVxuXG4ucG9zdC10eXBlLXByb2plY3QgaGVhZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ucHJvamVjdC1jb3ZlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiA1MCU7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDMyJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4MXB4KSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLnByb2plY3QtY292ZXIge1xuICAgICAgbGVmdDogNTAlOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAucHJvamVjdC1jb3ZlciB7XG4gICAgICBsZWZ0OiA1MCU7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAucHJvamVjdC1jb3ZlciB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBoZWlnaHQ6IDMyJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7IH0gfVxuICAubm8tanMgLnByb2plY3QtY292ZXIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5wcm9qZWN0LWNvdmVyOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWYxZjFmO1xuICAgIG9wYWNpdHk6IC41OyB9XG5cbi5wcm9qZWN0LWluZm9ybWF0aW9ucyB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogMCAyMHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgei1pbmRleDogMTA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2ODFweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIC5wcm9qZWN0LWluZm9ybWF0aW9ucyB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDAgMjBweDsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgICAgIC5wcm9qZWN0LWluZm9ybWF0aW9ucyB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLnByb2plY3QtaW5mb3JtYXRpb25zIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgcGFkZGluZzogMCA0NXB4OyB9IH1cbiAgLnByb2plY3QtaW5mb3JtYXRpb25zIC5wcm9qZWN0LWluZm9ybWF0aW9uLWJhY2tncm91bmQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnByb2plY3QtaW5mb3JtYXRpb25zIC53cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAucHJvamVjdC1pbmZvcm1hdGlvbnMgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2ODFweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgLnByb2plY3QtaW5mb3JtYXRpb25zIHVsIHtcbiAgICAgICAgcGFkZGluZzogMzBweCA0MHB4OyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgLnByb2plY3QtaW5mb3JtYXRpb25zIHVsIHtcbiAgICAgICAgcGFkZGluZzogMzBweCA3MHB4OyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4MXB4KSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAucHJvamVjdC1pbmZvcm1hdGlvbnMgdWwgbGkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luOiAwIDMwcHg7IH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgICAgICAgLnByb2plY3QtaW5mb3JtYXRpb25zIHVsIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAucHJvamVjdC1pbmZvcm1hdGlvbnMgdWwgbGkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luOiAwIDMwcHg7IH0gfVxuICAgIC5wcm9qZWN0LWluZm9ybWF0aW9ucyB1bCBsaSBoMiwgLnByb2plY3QtaW5mb3JtYXRpb25zIHVsIGxpIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2ODFweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgICAucHJvamVjdC1pbmZvcm1hdGlvbnMgdWwgbGkgaDIsIC5wcm9qZWN0LWluZm9ybWF0aW9ucyB1bCBsaSBoMyB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDM7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7IH0gfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICAgLnByb2plY3QtaW5mb3JtYXRpb25zIHVsIGxpIGgyLCAucHJvamVjdC1pbmZvcm1hdGlvbnMgdWwgbGkgaDMge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzO1xuICAgICAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cbiAgICAucHJvamVjdC1pbmZvcm1hdGlvbnMgdWwgbGkgaDIge1xuICAgICAgZm9udC1mYW1pbHk6ICdGdXR1cmEgSGVhdnknLCBzYW5zLXNlcmlmO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2ODFweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgICAucHJvamVjdC1pbmZvcm1hdGlvbnMgdWwgbGkgaDIge1xuICAgICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgICAucHJvamVjdC1pbmZvcm1hdGlvbnMgdWwgbGkgaDIge1xuICAgICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgLnByb2plY3QtaW5mb3JtYXRpb25zIHVsIGxpIGgzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjgxcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgLnByb2plY3QtaW5mb3JtYXRpb25zIHVsIGxpIGgzIHtcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgICAucHJvamVjdC1pbmZvcm1hdGlvbnMgdWwgbGkgaDM6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcvJztcbiAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4OyB9IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAgIC5wcm9qZWN0LWluZm9ybWF0aW9ucyB1bCBsaSBoMyB7XG4gICAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgICAgLnByb2plY3QtaW5mb3JtYXRpb25zIHVsIGxpIGgzOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnLyc7XG4gICAgICAgICAgICBtYXJnaW46IDAgMTBweDsgfSB9XG4gICAgLnByb2plY3QtaW5mb3JtYXRpb25zIHVsIGxpOmxhc3QtY2hpbGQgaDMge1xuICAgICAgbWFyZ2luOiAwOyB9XG5cbi5wcm9qZWN0LXRpdGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDMwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDA7XG4gIHotaW5kZXg6IDI7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2ODFweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIC5wcm9qZWN0LXRpdGxlIHtcbiAgICAgIHRvcDogNTAlOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAucHJvamVjdC10aXRsZSB7XG4gICAgICB0b3A6IDUwJTsgfSB9XG4gIC5wcm9qZWN0LXRpdGxlIC5wcmVmaXgsIC5wcm9qZWN0LXRpdGxlIC5zdWZmaXgge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiAnRnV0dXJhIEhlYXZ5Jywgc2Fucy1zZXJpZjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIC4zcyBlYXNlOyB9XG4gIC5wcm9qZWN0LXRpdGxlIC5wcmVmaXgge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICB3aWR0aDogNjRweDtcbiAgICBoZWlnaHQ6IDY0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDY0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEwcHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4MXB4KSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAucHJvamVjdC10aXRsZSAucHJlZml4IHtcbiAgICAgICAgYm9yZGVyOiA0cHggc29saWQ7XG4gICAgICAgIGZvbnQtc2l6ZTogNXJlbTtcbiAgICAgICAgd2lkdGg6IDEzMHB4O1xuICAgICAgICBoZWlnaHQ6IDEzMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTMwcHg7XG4gICAgICAgIHRvcDogMzBweDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC5wcm9qZWN0LXRpdGxlIC5wcmVmaXgge1xuICAgICAgICBib3JkZXI6IDRweCBzb2xpZDtcbiAgICAgICAgZm9udC1zaXplOiA1cmVtO1xuICAgICAgICB3aWR0aDogMTMwcHg7XG4gICAgICAgIGhlaWdodDogMTMwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMzBweDtcbiAgICAgICAgdG9wOiAzMHB4OyB9IH1cbiAgLnByb2plY3QtdGl0bGUgLnN1ZmZpeCB7XG4gICAgZm9udC1zaXplOiA0cmVtO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0xMHB4O1xuICAgIHotaW5kZXg6IDE7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjgxcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5wcm9qZWN0LXRpdGxlIC5zdWZmaXgge1xuICAgICAgICB0b3A6IC0zMHB4O1xuICAgICAgICBmb250LXNpemU6IDE2cmVtOyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgLnByb2plY3QtdGl0bGUgLnN1ZmZpeCB7XG4gICAgICAgIHRvcDogLTMwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZyZW07IH0gfVxuXG4uaWNvbi5kb3duIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIGJvdHRvbTogMTQwcHg7XG4gIGZpbGw6IHdoaXRlO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDU7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2ODFweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIC5pY29uLmRvd24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5pY29uLmRvd24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAuaWNvbi5kb3duOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7IH1cblxuI3JlbGF0ZWQtd29ya3Mge1xuICBjbGVhcjogYm90aDtcbiAgcGFkZGluZy10b3A6IDMwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2ODFweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICNyZWxhdGVkLXdvcmtzIHtcbiAgICAgIHBhZGRpbmctdG9wOiA3MHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAjcmVsYXRlZC13b3JrcyB7XG4gICAgICBwYWRkaW5nLXRvcDogMTAwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4MXB4KSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgI3JlbGF0ZWQtd29ya3MgLndyYXBwZXIge1xuICAgICAgcGFkZGluZzogMCA1cHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICNyZWxhdGVkLXdvcmtzIC53cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDAgMzBweDsgfSB9XG4gICNyZWxhdGVkLXdvcmtzIHVsIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICNyZWxhdGVkLXdvcmtzIHVsIC5ncmlkLXNpemVyIHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgICAgICAjcmVsYXRlZC13b3JrcyB1bCAuZ3JpZC1zaXplciB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2ODFweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgICAjcmVsYXRlZC13b3JrcyB1bCAuZ3JpZC1zaXplciB7XG4gICAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgICAjcmVsYXRlZC13b3JrcyB1bCAuZ3JpZC1zaXplciB7XG4gICAgICAgICAgd2lkdGg6IDMzLjMzMyU7IH0gfVxuICAgICNyZWxhdGVkLXdvcmtzIHVsIC5pdGVtIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgcGFkZGluZzogMCAxNXB4OyB9XG4gICAgICAjcmVsYXRlZC13b3JrcyB1bCAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgICAgICNyZWxhdGVkLXdvcmtzIHVsIC5pdGVtIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjgxcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgI3JlbGF0ZWQtd29ya3MgdWwgLml0ZW0ge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgICB3aWR0aDogNTAlOyB9IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAgICNyZWxhdGVkLXdvcmtzIHVsIC5pdGVtIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgICAgd2lkdGg6IDMzLjMzMyU7IH0gfVxuICAgICAgI3JlbGF0ZWQtd29ya3MgdWwgLml0ZW06aG92ZXIgaW1nIHtcbiAgICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAgICNyZWxhdGVkLXdvcmtzIHVsIC5pdGVtOmhvdmVyIC5zaGFyZS1saW5rcyBsaSB7XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNoYXJlO1xuICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41czsgfVxuICAgICAgICAgICNyZWxhdGVkLXdvcmtzIHVsIC5pdGVtOmhvdmVyIC5zaGFyZS1saW5rcyBsaTpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjA1czsgfVxuICAgICAgICAgICNyZWxhdGVkLXdvcmtzIHVsIC5pdGVtOmhvdmVyIC5zaGFyZS1saW5rcyBsaTpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjE1czsgfVxuICAgICAgICAgICNyZWxhdGVkLXdvcmtzIHVsIC5pdGVtOmhvdmVyIC5zaGFyZS1saW5rcyBsaTpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjI1czsgfSB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4MXB4KSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgICNyZWxhdGVkLXdvcmtzIHVsIC5pdGVtLncyIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgICAjcmVsYXRlZC13b3JrcyB1bCAuaXRlbS53MiB7XG4gICAgICAgICAgd2lkdGg6IDY2LjY2NiU7IH0gfVxuICAgICAgI3JlbGF0ZWQtd29ya3MgdWwgLml0ZW0udzIgLnRodW1iIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4MXB4KSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgICAgI3JlbGF0ZWQtd29ya3MgdWwgLml0ZW0udzIgLnRodW1iIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCA3MS44NjMxMiUgMDtcbiAgICAgICAgICAgIGhlaWdodDogMDsgfVxuICAgICAgICAgICAgI3JlbGF0ZWQtd29ya3MgdWwgLml0ZW0udzIgLnRodW1iIGltZyB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAgICAgI3JlbGF0ZWQtd29ya3MgdWwgLml0ZW0udzIgLnRodW1iIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCA3MS44NjMxMiUgMDtcbiAgICAgICAgICAgIGhlaWdodDogMDsgfVxuICAgICAgICAgICAgI3JlbGF0ZWQtd29ya3MgdWwgLml0ZW0udzIgLnRodW1iIGltZyB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgICAjcmVsYXRlZC13b3JrcyB1bCAuaXRlbS53MSAudGh1bWIge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjgxcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgICAjcmVsYXRlZC13b3JrcyB1bCAuaXRlbS53MSAudGh1bWIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDE0OS4yMTA1MyUgMDtcbiAgICAgICAgICAgIGhlaWdodDogMDsgfVxuICAgICAgICAgICAgI3JlbGF0ZWQtd29ya3MgdWwgLml0ZW0udzEgLnRodW1iIGltZyB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAgICAgI3JlbGF0ZWQtd29ya3MgdWwgLml0ZW0udzEgLnRodW1iIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxNDkuMjEwNTMlIDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7IH1cbiAgICAgICAgICAgICNyZWxhdGVkLXdvcmtzIHVsIC5pdGVtLncxIC50aHVtYiBpbWcge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgICAgI3JlbGF0ZWQtd29ya3MgdWwgLml0ZW0gYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgICNyZWxhdGVkLXdvcmtzIHVsIC5pdGVtIGZpZ3VyZSB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAjcmVsYXRlZC13b3JrcyB1bCAuaXRlbSBmaWd1cmUgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBmaWx0ZXIgLjNzIGVhc2Utb3V0OyB9XG4gICAgICAgICNyZWxhdGVkLXdvcmtzIHVsIC5pdGVtIGZpZ3VyZSBmaWdjYXB0aW9uIHtcbiAgICAgICAgICBmb250LWZhbWlseTogJ0Z1dHVyYSBIZWF2eScsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgbWluLWhlaWdodDogNTBweDsgfVxuICAgICAgICAgICNyZWxhdGVkLXdvcmtzIHVsIC5pdGVtIGZpZ3VyZSBmaWdjYXB0aW9uIGg0IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICAgICAgICAjcmVsYXRlZC13b3JrcyB1bCAuaXRlbSBmaWd1cmUgZmlnY2FwdGlvbiBwIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBjb2xvcjogI2FlYWVhZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdESU4nLCBzYW5zLXNlcmlmOyB9XG5cbi5wcm9qZWN0LW5hdmlnYXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjBweDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4MXB4KSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLnByb2plY3QtbmF2aWdhdGlvbiB7XG4gICAgICB0b3A6IDQwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5wcm9qZWN0LW5hdmlnYXRpb24ge1xuICAgICAgdG9wOiA1NXB4OyB9IH1cbiAgLnByb2plY3QtbmF2aWdhdGlvbiBhIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLnByb2plY3QtbmF2aWdhdGlvbiBhIC5saW5rLXByb2plY3QtdGl0bGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBmb250LWZhbWlseTogJ0Z1dHVyYSBIZWF2eScsIHNhbnMtc2VyaWY7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjFlbTsgfVxuICAgICAgLnByb2plY3QtbmF2aWdhdGlvbiBhIC5saW5rLXByb2plY3QtdGl0bGUgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAjYWVhZWFlO1xuICAgICAgICBmb250LWZhbWlseTogJ0RJTicsIHNhbnMtc2VyaWY7IH1cbiAgICAucHJvamVjdC1uYXZpZ2F0aW9uIGEgc3ZnIHtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgaGVpZ2h0OiAxM3B4O1xuICAgICAgZmlsbDogIzAwMDsgfVxuICAgIC5wcm9qZWN0LW5hdmlnYXRpb24gYS5wcmV2LXByb2plY3Qge1xuICAgICAgbGVmdDogMDsgfVxuICAgICAgLnByb2plY3QtbmF2aWdhdGlvbiBhLnByZXYtcHJvamVjdCAubGluay1wcm9qZWN0LXRpdGxlIHtcbiAgICAgICAgbGVmdDogMDsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICAgLnByb2plY3QtbmF2aWdhdGlvbiBhLnByZXYtcHJvamVjdCB7XG4gICAgICAgICAgd2lkdGg6IDU1cHg7IH0gfVxuICAgIC5wcm9qZWN0LW5hdmlnYXRpb24gYS5uZXh0LXByb2plY3Qge1xuICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIC5wcm9qZWN0LW5hdmlnYXRpb24gYS5uZXh0LXByb2plY3QgLmxpbmstcHJvamVjdC10aXRsZSB7XG4gICAgICAgIHJpZ2h0OiAwOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgICAucHJvamVjdC1uYXZpZ2F0aW9uIGEubmV4dC1wcm9qZWN0IHtcbiAgICAgICAgICB3aWR0aDogNTVweDsgfSB9XG5cbi5wcm9qZWN0LW5hdmlnYXRpb24tY292ZXJzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5wcm9qZWN0LW5hdmlnYXRpb24tY292ZXJzIC5wcmV2LXByb2plY3QtY292ZXIsIC5wcm9qZWN0LW5hdmlnYXRpb24tY292ZXJzIC5uZXh0LXByb2plY3QtY292ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDMyJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgICAucHJvamVjdC1uYXZpZ2F0aW9uLWNvdmVycyAucHJldi1wcm9qZWN0LWNvdmVyLCAucHJvamVjdC1uYXZpZ2F0aW9uLWNvdmVycyAubmV4dC1wcm9qZWN0LWNvdmVyIHtcbiAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gICAgLnByb2plY3QtbmF2aWdhdGlvbi1jb3ZlcnMgLnByZXYtcHJvamVjdC1jb3ZlciAubG9hZGVyLCAucHJvamVjdC1uYXZpZ2F0aW9uLWNvdmVycyAubmV4dC1wcm9qZWN0LWNvdmVyIC5sb2FkZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFmMWYxZjsgfVxuICAucHJvamVjdC1uYXZpZ2F0aW9uLWNvdmVycyAucHJldi1wcm9qZWN0LWNvdmVyIHtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAwKTsgfVxuICAgIC5wcm9qZWN0LW5hdmlnYXRpb24tY292ZXJzIC5wcmV2LXByb2plY3QtY292ZXIgLmxvYWRlciB7XG4gICAgICBsZWZ0OiAwOyB9XG4gIC5wcm9qZWN0LW5hdmlnYXRpb24tY292ZXJzIC5uZXh0LXByb2plY3QtY292ZXIge1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIDApOyB9XG4gICAgLnByb2plY3QtbmF2aWdhdGlvbi1jb3ZlcnMgLm5leHQtcHJvamVjdC1jb3ZlciAubG9hZGVyIHtcbiAgICAgIHJpZ2h0OiAwOyB9XG5cbi5zaGFyZS1saW5rcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiA3MHB4O1xuICByaWdodDogMjBweDtcbiAgei1pbmRleDogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLnNoYXJlLWxpbmtzIHtcbiAgICAgIHJpZ2h0OiA1cHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4MXB4KSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLnNoYXJlLWxpbmtzIHtcbiAgICAgIHJpZ2h0OiAyNXB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuc2hhcmUtbGlua3Mge1xuICAgICAgdG9wOiA0NSU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDsgfSB9XG4gIC5zaGFyZS1saW5rcyBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gICAgbWFyZ2luOiA1cHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuM3MgZWFzZS1vdXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC5zaGFyZS1saW5rcyBsaSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzaGFyZS1vdXQ7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcbiAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjM5LCAwLjU4LCAwLjU3LCAxKTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTYwMXB4KSB7XG4gICAgICAuc2hhcmUtbGlua3MgbGkge1xuICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICBtYXJnaW46IDEwcHg7IH0gfVxuICAgIC5zaGFyZS1saW5rcyBsaSBzdmcge1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICBmaWxsOiB3aGl0ZTtcbiAgICAgIHRyYW5zaXRpb246IGZpbGwgLjNzIGVhc2Utb3V0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNjAxcHgpIHtcbiAgICAgICAgLnNoYXJlLWxpbmtzIGxpIHN2ZyB7XG4gICAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA2MHB4OyB9IH1cbiAgICAuc2hhcmUtbGlua3MgbGk6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cbiAgICAgIC5zaGFyZS1saW5rcyBsaTpob3ZlciBzdmcge1xuICAgICAgICBmaWxsOiBibGFjazsgfVxuXG5Aa2V5ZnJhbWVzIHNoYXJlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDBweCk7XG4gICAgb3BhY2l0eTogMDsgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBzaGFyZS1vdXQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIG9wYWNpdHk6IDE7IH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4ucG9zdC10eXBlLXdvcmsge1xuICBiYWNrZ3JvdW5kOiAjMWYxZjFmOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLnBvc3QtdHlwZS13b3JrIHtcbiAgICAgIHBhZGRpbmc6IDU1cHg7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfSB9XG4gIC5wb3N0LXR5cGUtd29yayAud3JhcHBlciB7XG4gICAgbWFyZ2luOiAwIDIwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgcGFkZGluZzogNDBweCAwcHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjgxcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5wb3N0LXR5cGUtd29yayAud3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDQwcHg7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAucG9zdC10eXBlLXdvcmsgLndyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCA0NXB4OyB9IH1cbiAgLnBvc3QtdHlwZS13b3JrIC5pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0zMHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoNzYsIDc2LCA3NiwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjJzIGVhc2UtaW4tb3V0O1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5wb3N0LXR5cGUtd29yayAuaWNvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjNGM0YzRjOyB9XG4gIC5wb3N0LXR5cGUtd29yayAucHJldiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgei1pbmRleDogLTE7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgLnBvc3QtdHlwZS13b3JrIC5wcmV2IHtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGxlZnQ6IC04MHB4OyB9IH1cbiAgLnBvc3QtdHlwZS13b3JrIC5uZXh0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB6LWluZGV4OiAtMTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAucG9zdC10eXBlLXdvcmsgLm5leHQge1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcmlnaHQ6IC04MHB4OyB9IH1cbiAgLnBvc3QtdHlwZS13b3JrIC5pY29uLmNsb3NlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHRvcDogOTBweDtcbiAgICByaWdodDogMTBweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAucG9zdC10eXBlLXdvcmsgLmljb24uY2xvc2Uge1xuICAgICAgICB0b3A6IDMwcHg7XG4gICAgICAgIHJpZ2h0OiAtODBweDsgfSB9XG4gIC5wb3N0LXR5cGUtd29yayAuc2xpZGVyLXdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgaGVpZ2h0OiA1MHZoO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luLXRvcDogMzBweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjgxcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5wb3N0LXR5cGUtd29yayAuc2xpZGVyLXdyYXBwZXIge1xuICAgICAgICBoZWlnaHQ6IDYwdmg7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgLTIwJSk7IH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgICAgICAgLnBvc3QtdHlwZS13b3JrIC5zbGlkZXItd3JhcHBlciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDUwdmg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTsgfSB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgLnBvc3QtdHlwZS13b3JrIC5zbGlkZXItd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDEzMHB4IDQ1cHg7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcGFkZGluZzogMTAwcHggMDtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH0gfVxuICAgIC5wb3N0LXR5cGUtd29yayAuc2xpZGVyLXdyYXBwZXIgaW1nIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgICAucG9zdC10eXBlLXdvcmsgLnNsaWRlci13cmFwcGVyIGltZyB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfSB9XG4gIC5wb3N0LXR5cGUtd29yayAuc2xpY2stc2xpZGVyLCAucG9zdC10eXBlLXdvcmsgLnNsaWNrLWxpc3QsIC5wb3N0LXR5cGUtd29yayAuc2xpY2stdHJhY2sge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAucG9zdC10eXBlLXdvcmsgLnNsaWNrLWNsb25lZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5wb3N0LXR5cGUtd29yayBoMSB7XG4gICAgbWFyZ2luOiAzMHB4IDAgMCAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1mYW1pbHk6ICdGdXR1cmEgSGVhdnknLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMi42cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4MXB4KSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAucG9zdC10eXBlLXdvcmsgaDEge1xuICAgICAgICBmb250LXNpemU6IDMuNnJlbTtcbiAgICAgICAgbWFyZ2luOiA1MHB4IDAgMCAwOyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgLnBvc3QtdHlwZS13b3JrIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAzLjZyZW07IH0gfVxuICAucG9zdC10eXBlLXdvcmsgcCB7XG4gICAgY29sb3I6ICNhZWFlYWU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7IH1cblxuc3ZnIC5vdXRlci1yaW5nIHtcbiAgd2lkdGg6IDYwcHg7XG4gIGhlaWdodDogNjBweDtcbiAgZmlsbDogIzRjNGM0YztcbiAgdHJhbnNpdGlvbjogY29sb3IgLjNzIGVhc2U7IH1cblxuc3ZnIC5hcnJvdywgc3ZnIC5jbG9zZSB7XG4gIGZpbGw6ICNmZmY7IH1cblxuI3Bvc3QtMTYgLmFydGljbGUtY29udGVudCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuI3Bvc3QtMTYgLmJhY2tncm91bmQtZ3JleSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogLTE7IH1cbiNwb3N0LTE2IC5wb3J0cmFpdCB7XG4gIHBhZGRpbmc6IDIwcHggMjBweCAzMHB4O1xuICBtYXJnaW46IDBweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMjBweCAyMHB4IDQwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2ODFweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICNwb3N0LTE2IC5wb3J0cmFpdCB7XG4gICAgICBtYXJnaW46IDBweDtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBwYWRkaW5nOiA2MHB4IDMwcHggNjBweCA2MHB4O1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAgICAgI3Bvc3QtMTYgLnBvcnRyYWl0IHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICBwYWRkaW5nOiA0MHB4IDEyMHB4IDYwcHg7IH0gfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgI3Bvc3QtMTYgLnBvcnRyYWl0IHtcbiAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIHBhZGRpbmc6IDYwcHg7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZmxvYXQ6IGxlZnQ7IH0gfVxuICAjcG9zdC0xNiAucG9ydHJhaXQgLndyYXBwZXIge1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nOiAwIDAgMTAwJSAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgICAjcG9zdC0xNiAucG9ydHJhaXQgLndyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMTIwJSAwOyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4MXB4KSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAjcG9zdC0xNiAucG9ydHJhaXQgLndyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgICAgICAgI3Bvc3QtMTYgLnBvcnRyYWl0IC53cmFwcGVyIHtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxMzAlIDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICNwb3N0LTE2IC5wb3J0cmFpdCAud3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfSB9XG4gICNwb3N0LTE2IC5wb3J0cmFpdCBpbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMTUlO1xuICAgIHdpZHRoOiA3MCU7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAgICNwb3N0LTE2IC5wb3J0cmFpdCBpbWcge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2ODFweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgI3Bvc3QtMTYgLnBvcnRyYWl0IGltZyB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgICAgICAgICNwb3N0LTE2IC5wb3J0cmFpdCBpbWcge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAjcG9zdC0xNiAucG9ydHJhaXQgaW1nIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgd2lkdGg6IDkwJTsgfSB9XG4jcG9zdC0xNiAuYXJ0aWNsZS1ib2R5IHtcbiAgbWFyZ2luOiA0MHB4IDIwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgI3Bvc3QtMTYgLmFydGljbGUtYm9keSB7XG4gICAgICBtYXJnaW46IDAgMjBweCA0MHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2ODFweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICNwb3N0LTE2IC5hcnRpY2xlLWJvZHkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIHBhZGRpbmc6IDYwcHggNjBweCA2MHB4IDMwcHg7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAgICAgI3Bvc3QtMTYgLmFydGljbGUtYm9keSB7XG4gICAgICAgICAgcGFkZGluZzogMHB4IDQwcHggMjBweDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBmbG9hdDogbm9uZTsgfSB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAjcG9zdC0xNiAuYXJ0aWNsZS1ib2R5IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBwYWRkaW5nOiA2MHB4O1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4jcG9zdC0xNiAuYXJ0aWNsZS1oMSB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1mYW1pbHk6ICdGdXR1cmEgSGVhdnknLCBzYW5zLXNlcmlmO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBmb250LXNpemU6IDJyZW07XG4gIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjgxcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAjcG9zdC0xNiAuYXJ0aWNsZS1oMSB7XG4gICAgICBmb250LXNpemU6IDIuNHJlbTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgI3Bvc3QtMTYgLmFydGljbGUtaDEge1xuICAgICAgZm9udC1zaXplOiAyLjRyZW07IH0gfVxuICAjcG9zdC0xNiAuYXJ0aWNsZS1oMSBzcGFuIHtcbiAgICBjb2xvcjogIzYzNjM2MzsgfVxuI3Bvc3QtMTYgLmNvbHVtbiB7XG4gIGZvbnQtZmFtaWx5OiAnTWVycml3ZWF0aGVyJywgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xuICBjb2xvcjogIzYzNjM2MzsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICNwb3N0LTE2IC5jb2x1bW4ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgcGFkZGluZzogMCAwIDAgMjBweDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNjAxcHgpIHtcbiAgICAjcG9zdC0xNiAuY29sdW1uIHtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9IH1cbiAgI3Bvc3QtMTYgLmNvbHVtbiBwIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICNwb3N0LTE2IC5jb2x1bW4gaW1nIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjgxcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICNwb3N0LTE2IC5jb2x1bW4gaW1nIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7IH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgICAgICAgI3Bvc3QtMTYgLmNvbHVtbiBpbWcge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAjcG9zdC0xNiAuY29sdW1uIGltZyB7XG4gICAgICAgIGZsb2F0OiBub25lOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAjcG9zdC0xNiAuY29sdW1uOmZpcnN0LW9mLXR5cGUge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIHBhZGRpbmc6IDAgMjBweCAwIDA7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9IH1cblxuI3Bvc3QtOSBoMSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyOiA0cHggc29saWQ7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAyLjRyZW07XG4gIHdpZHRoOiAxMDBweDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgbGluZS1oZWlnaHQ6IDEwMHB4O1xuICB0b3A6IDIwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAjcG9zdC05IGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogNS42cmVtO1xuICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgaGVpZ2h0OiAyNTBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNTBweDtcbiAgICAgIHRvcDogNzBweDsgfSB9XG4gICNwb3N0LTkgaDEgLnByZWZpeCwgI3Bvc3QtOSBoMSAuc3VmZml4IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgI3Bvc3QtOSBoMSAucHJlZml4IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgyMCUsIC01MCUpOyB9XG4gICNwb3N0LTkgaDEgLnN1ZmZpeCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTIwJSwgNTAlKTsgfVxuI3Bvc3QtOSBzZWN0aW9uIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuI3Bvc3QtOSB1bCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gICNwb3N0LTkgdWwgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICNwb3N0LTkgdWwgbGk6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTQwcHg7XG4gICAgICB3aWR0aDogM3B4O1xuICAgICAgYmFja2dyb3VuZDogI2M5YzljOTtcbiAgICAgIG1hcmdpbjogMjBweCBhdXRvOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgICAjcG9zdC05IHVsIGxpOmFmdGVyIHtcbiAgICAgICAgICBoZWlnaHQ6IDI0MHB4OyB9IH1cbiAgICAjcG9zdC05IHVsIGxpOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7IH1cbiAgICAgICNwb3N0LTkgdWwgbGk6bGFzdC1jaGlsZDphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgI3Bvc3QtOSB1bCBpbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDIwcHg7IH1cbiAgI3Bvc3QtOSB1bCAubWFzayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1mYW1pbHk6ICdGdXR1cmEgSGVhdnknLCBzYW5zLXNlcmlmO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMWVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAjM0JEODg1O1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4yZW07IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4MXB4KSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAjcG9zdC05IHVsIC5tYXNrIHtcbiAgICAgICAgZm9udC1zaXplOiAzcmVtOyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgI3Bvc3QtOSB1bCAubWFzayB7XG4gICAgICAgIGZvbnQtc2l6ZTogNnJlbTsgfSB9XG4gICNwb3N0LTkgdWwgaDIge1xuICAgIHdpZHRoOiA4MCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgZm9udC1mYW1pbHk6ICdGdXR1cmEgSGVhdnknLCBzYW5zLXNlcmlmO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMWVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMmVtOyB9XG4gICAgI3Bvc3QtOSB1bCBoMiBhIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjgxcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICNwb3N0LTkgdWwgaDIge1xuICAgICAgICBmb250LXNpemU6IDNyZW07IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAjcG9zdC05IHVsIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiA2cmVtOyB9IH1cblxuI3Bvc3QtMTIgLnBhZ2UtYm9keSB7XG4gIHBhZGRpbmc6IDIwcHggMCA0MHB4OyB9XG4jcG9zdC0xMiBoMSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6ICMwMDA7IH1cbiNwb3N0LTEyIC5ob2xlcy1pbi10ZXh0LWZvcm0ge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjgxcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAjcG9zdC0xMiAuaG9sZXMtaW4tdGV4dC1mb3JtIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAgICAgI3Bvc3QtMTIgLmhvbGVzLWluLXRleHQtZm9ybSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAjcG9zdC0xMiAuaG9sZXMtaW4tdGV4dC1mb3JtIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiNwb3N0LTEyIC53cGNmNy1mb3JtIHtcbiAgd2lkdGg6IDgwJTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2ODFweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICNwb3N0LTEyIC53cGNmNy1mb3JtIC5oaWRkZW4tZm9ybSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAgICAgI3Bvc3QtMTIgLndwY2Y3LWZvcm0gLmhpZGRlbi1mb3JtIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAjcG9zdC0xMiAud3BjZjctZm9ybSAuaGlkZGVuLWZvcm0ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICNwb3N0LTEyIC53cGNmNy1mb3JtIC5oaWRkZW4tZm9ybSA+IHAge1xuICAgIG1hcmdpbi10b3A6IDFlbTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4MXB4KSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgI3Bvc3QtMTIgLndwY2Y3LWZvcm0ge1xuICAgICAgZm9udC1zaXplOiAyLjhyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogODAlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgICAgICNwb3N0LTEyIC53cGNmNy1mb3JtIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICNwb3N0LTEyIC53cGNmNy1mb3JtIHtcbiAgICAgIGZvbnQtc2l6ZTogMi44cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH0gfVxuICAjcG9zdC0xMiAud3BjZjctZm9ybSAuZXh0ZW5kYWJsZS1pbnB1dC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICNwb3N0LTEyIC53cGNmNy1mb3JtIC5leHRlbmRhYmxlLWlucHV0LWNvbnRhaW5lci5mdWxsIC5ib3JkZXItYm90dG9tIHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgI3Bvc3QtMTIgLndwY2Y3LWZvcm0gLmJvcmRlci1ib3R0b20ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDJweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjYzBjMGMwO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgZWFzZS1vdXQ7IH1cbiAgI3Bvc3QtMTIgLndwY2Y3LWZvcm0gLmV4dGVuZGFibGUtaW5wdXQge1xuICAgIG1pbi13aWR0aDogMTUwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgY29sb3I6ICNjMGMwYzA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIC4zcyBlYXNlLW91dDsgfVxuICAgICNwb3N0LTEyIC53cGNmNy1mb3JtIC5leHRlbmRhYmxlLWlucHV0OmhvdmVyLCAjcG9zdC0xMiAud3BjZjctZm9ybSAuZXh0ZW5kYWJsZS1pbnB1dDpmb2N1cyB7XG4gICAgICBjb2xvcjogIzYzNjM2MztcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgI3Bvc3QtMTIgLndwY2Y3LWZvcm0gcCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzYzNjM2MztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwOyB9XG4gICNwb3N0LTEyIC53cGNmNy1mb3JtIC53cGNmNy10ZXh0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjYzBjMGMwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgI3Bvc3QtMTIgLndwY2Y3LWZvcm0gLm1lc3NhZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjgxcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICNwb3N0LTEyIC53cGNmNy1mb3JtIC5tZXNzYWdlIHtcbiAgICAgICAgd2lkdGg6IDcwMHB4O1xuICAgICAgICBtYXJnaW46IDQwcHggYXV0bzsgfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAgICAgICAjcG9zdC0xMiAud3BjZjctZm9ybSAubWVzc2FnZSB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbjogMDsgfSB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgI3Bvc3QtMTIgLndwY2Y3LWZvcm0gLm1lc3NhZ2Uge1xuICAgICAgICB3aWR0aDogNzAwcHg7XG4gICAgICAgIG1hcmdpbjogNDBweCBhdXRvOyB9IH1cbiAgICAjcG9zdC0xMiAud3BjZjctZm9ybSAubWVzc2FnZSAuYm9yZGVyLWJvdHRvbSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgei1pbmRleDogLTE7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjgxcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgI3Bvc3QtMTIgLndwY2Y3LWZvcm0gLm1lc3NhZ2UgLmJvcmRlci1ib3R0b20ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgICAgICAgICAjcG9zdC0xMiAud3BjZjctZm9ybSAubWVzc2FnZSAuYm9yZGVyLWJvdHRvbSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfSB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgICAjcG9zdC0xMiAud3BjZjctZm9ybSAubWVzc2FnZSAuYm9yZGVyLWJvdHRvbSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgICAgI3Bvc3QtMTIgLndwY2Y3LWZvcm0gLm1lc3NhZ2UgLmJvcmRlci1ib3R0b206bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgdG9wOiAzNHB4OyB9XG4gICAgICAjcG9zdC0xMiAud3BjZjctZm9ybSAubWVzc2FnZSAuYm9yZGVyLWJvdHRvbTpudGgtY2hpbGQoMikge1xuICAgICAgICB0b3A6IDczcHg7IH1cbiAgICAgICNwb3N0LTEyIC53cGNmNy1mb3JtIC5tZXNzYWdlIC5ib3JkZXItYm90dG9tOm50aC1jaGlsZCgzKSB7XG4gICAgICAgIHRvcDogMTEycHg7IH1cbiAgICAjcG9zdC0xMiAud3BjZjctZm9ybSAubWVzc2FnZSB0ZXh0YXJlYSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI2MwYzBjMDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG4gICAgICAjcG9zdC0xMiAud3BjZjctZm9ybSAubWVzc2FnZSB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjgxcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgI3Bvc3QtMTIgLndwY2Y3LWZvcm0gLm1lc3NhZ2UgdGV4dGFyZWEge1xuICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICByZXNpemU6IG5vbmU7IH1cbiAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAgICAgICAgICNwb3N0LTEyIC53cGNmNy1mb3JtIC5tZXNzYWdlIHRleHRhcmVhIHtcbiAgICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgI2MwYzBjMDtcbiAgICAgICAgICAgICAgcmVzaXplOiBhdXRvOyB9IH0gfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICAgI3Bvc3QtMTIgLndwY2Y3LWZvcm0gLm1lc3NhZ2UgdGV4dGFyZWEge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICByZXNpemU6IG5vbmU7IH0gfVxuICAjcG9zdC0xMiAud3BjZjctZm9ybSAuc3VibWl0LXdyYXBwZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAjcG9zdC0xMiAud3BjZjctZm9ybSAud3BjZjctc3VibWl0IHtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAxMHB4IDYwcHg7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2ODFweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgI3Bvc3QtMTIgLndwY2Y3LWZvcm0gLndwY2Y3LXN1Ym1pdCB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAgICAgICAjcG9zdC0xMiAud3BjZjctZm9ybSAud3BjZjctc3VibWl0IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDFlbTsgfSB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgI3Bvc3QtMTIgLndwY2Y3LWZvcm0gLndwY2Y3LXN1Ym1pdCB7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICNwb3N0LTEyIC53cGNmNy1mb3JtIC53cGNmNy1yZXNwb25zZS1vdXRwdXQge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cblxuIiwiLy8gQ29sb3JzXG4kY29sb3JfX2JyYW5kOiAjMDBmZmFlO1xuJGNvbG9yX19icmFuZC1oaWdobGlnaHQ6ICMwMGZmYWU7XG5cbiRjb2xvcl9fYm9keS1iYWNrZ3JvdW5kOiAjZThlOGU4O1xuXG4kY29sb3JfX21haW4tdGV4dDogIzViNWI1YjtcbiRjb2xvcl9faGVhZGluZy10ZXh0OiAjMDAwO1xuXG4kY29sb3JfX25hdi1tZW51LWluYWN0aXZlOiAjYWVhZWFlO1xuJGNvbG9yX19uYXYtbWVudS1hY3RpdmU6ICMwMDA7XG5cbiRjb2xvcl9fd29yay1pbmZvcm1hdGlvbnM6ICNhZWFlYWU7XG4kY29sb3JfX3dvcmstdGl0bGU6ICMwMDA7XG4kY29sb3JfX3dvcmstdGl0bGUtYWx0OiAjZmZmO1xuXG4kY29sb3JfX2ljb24tYXJyb3c6ICNmZmY7XG4kY29sb3JfX2ljb24tb3V0ZXItcmluZzogIzRjNGM0YztcblxuJGNvbG9yX19vdmVybGF5OiAjMWYxZjFmO1xuXG4kY29sb3JfX2Jpb2dyYXBoeS10ZXh0OiAjNjM2MzYzO1xuXG4kY29sb3JfX2NvbnRhY3QtbGluZXM6ICNjMGMwYzA7XG4kY29sb3JfX2NvbnRhY3QtdGV4dDogIzYzNjM2MztcblxuJGNvbG9yX19leGhpYml0aW9uOiAjM0JEODg1O1xuXG4kY29sb3JfX3Byb2plY3QtbmF2OiAjMDAwO1xuJGNvbG9yX19wcm9qZWN0LW5hdi1saWdodDogI2FlYWVhZTtcblxuLy9Gb250c1xuQGltcG9ydCB1cmwoaHR0cDovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9TWVycml3ZWF0aGVyKTtcblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRElOJztcbiAgc3JjOiB1cmwoJ2ZvbnRzL2Rpbl9hbHRlcm5hdGVfbGlnaHQtd2ViZm9udC5lb3QnKTtcbiAgc3JjOiB1cmwoJ2ZvbnRzL2Rpbl9hbHRlcm5hdGVfbGlnaHQtd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgIHVybCgnZm9udHMvZGluX2FsdGVybmF0ZV9saWdodC13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgIHVybCgnZm9udHMvZGluX2FsdGVybmF0ZV9saWdodC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICB1cmwoJ2ZvbnRzL2Rpbl9hbHRlcm5hdGVfbGlnaHQtd2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgdXJsKCdmb250cy9kaW5fYWx0ZXJuYXRlX2xpZ2h0LXdlYmZvbnQuc3ZnI2Rpbl9hbHRlcm5hdGVfbGlnaHRyZWd1bGFyJykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0RJTic7XG4gICAgc3JjOiB1cmwoJ2ZvbnRzL2Rpbl9hbHRlcm5hdGUtd2ViZm9udC5lb3QnKTtcbiAgICBzcmM6IHVybCgnZm9udHMvZGluX2FsdGVybmF0ZS13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICB1cmwoJ2ZvbnRzL2Rpbl9hbHRlcm5hdGUtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgIHVybCgnZm9udHMvZGluX2FsdGVybmF0ZS13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgIHVybCgnZm9udHMvZGluX2FsdGVybmF0ZS13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgIHVybCgnZm9udHMvZGluX2FsdGVybmF0ZS13ZWJmb250LnN2ZyNkaW5fYWx0ZXJuYXRlcmVndWxhcicpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0RJTic7XG4gIHNyYzogdXJsKCdmb250cy9kaW5fYWx0ZXJuYXRlX21lZGl1bS13ZWJmb250LmVvdCcpO1xuICBzcmM6IHVybCgnZm9udHMvZGluX2FsdGVybmF0ZV9tZWRpdW0td2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgIHVybCgnZm9udHMvZGluX2FsdGVybmF0ZV9tZWRpdW0td2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICB1cmwoJ2ZvbnRzL2Rpbl9hbHRlcm5hdGVfbWVkaXVtLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgIHVybCgnZm9udHMvZGluX2FsdGVybmF0ZV9tZWRpdW0td2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgdXJsKCdmb250cy9kaW5fYWx0ZXJuYXRlX21lZGl1bS13ZWJmb250LnN2ZyNkaW5fYWx0ZXJuYXRlX21lZGl1bXJlZ3VsYXInKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0RJTic7XG4gIHNyYzogdXJsKCdmb250cy9kaW5fYWx0ZXJuYXRlX2JvbGQtd2ViZm9udC5lb3QnKTtcbiAgc3JjOiB1cmwoJ2ZvbnRzL2Rpbl9hbHRlcm5hdGVfYm9sZC13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgdXJsKCdmb250cy9kaW5fYWx0ZXJuYXRlX2JvbGQtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICB1cmwoJ2ZvbnRzL2Rpbl9hbHRlcm5hdGVfYm9sZC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICB1cmwoJ2ZvbnRzL2Rpbl9hbHRlcm5hdGVfYm9sZC13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICB1cmwoJ2ZvbnRzL2Rpbl9hbHRlcm5hdGVfYm9sZC13ZWJmb250LnN2ZyNkaW5fYWx0ZXJuYXRlYm9sZCcpIGZvcm1hdCgnc3ZnJyk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRElOJztcbiAgc3JjOiB1cmwoJ2ZvbnRzL2Rpbl9hbHRlcm5hdGVfYmxhY2std2ViZm9udC5lb3QnKTtcbiAgc3JjOiB1cmwoJ2ZvbnRzL2Rpbl9hbHRlcm5hdGVfYmxhY2std2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgIHVybCgnZm9udHMvZGluX2FsdGVybmF0ZV9ibGFjay13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgIHVybCgnZm9udHMvZGluX2FsdGVybmF0ZV9ibGFjay13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICB1cmwoJ2ZvbnRzL2Rpbl9hbHRlcm5hdGVfYmxhY2std2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgdXJsKCdmb250cy9kaW5fYWx0ZXJuYXRlX2JsYWNrLXdlYmZvbnQuc3ZnI2Rpbl9hbHRlcm5hdGVfYmxhY2tyZWd1bGFyJykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGdXR1cmEgSGVhdnknO1xuICBzcmM6IHVybCgnZm9udHMvRnV0dXJhU3RkLUhlYXZ5LmVvdCcpO1xuICBzcmM6IHVybCgnZm9udHMvRnV0dXJhU3RkLUhlYXZ5LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgdXJsKCdmb250cy9GdXR1cmFTdGQtSGVhdnkud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgIHVybCgnZm9udHMvRnV0dXJhU3RkLUhlYXZ5LnR0ZicpICBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuJGZvbnRfX21haW46ICdESU4nLCBzYW5zLXNlcmlmO1xuJGZvbnRfX2hlYWRpbmdzOiAnRnV0dXJhIEhlYXZ5Jywgc2Fucy1zZXJpZjtcbiRmb250X19iaW9ncmFwaHk6ICdNZXJyaXdlYXRoZXInLCBzZXJpZjtcblxuLy9TaXplc1xuJHNpdGUtYm9yZGVyOiAyMHB4O1xuJGlubmVyLXdyYXBwZXI6IDIwcHg7XG4kbG9hZGVyOiA5MHB4O1xuXG4vL01lZGlhcXVlcmllc1xuJG1vYmlsZS1zbWFsbDogMzIwcHg7XG4kbW9iaWxlOiA2ODBweDtcbiR0YWJsZXQtc21hbGw6IDgwMHB4O1xuJHRhYmxldDogMTAyNHB4O1xuJG1lZGl1bS1zY3JlZW46IDEyODBweDtcbiRsYXJnZS1zY3JlZW46IDE0NDBweDsiLCIvKiEgbm9ybWFsaXplLnNjc3MgdjAuMS4wIHwgTUlUIExpY2Vuc2UgfCBiYXNlZCBvbiBnaXQuaW8vbm9ybWFsaXplICovXG5cbi8qKlxuICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAqIDIuIFByZXZlbnQgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZ1xuICogICAgdXNlciB6b29tLlxuICovXG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAqIGFuZCBGaXJlZm94LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICovXG5cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXI6IDA7XG59XG5cbi8qKlxuICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICovXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8qKlxuICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5cbmhyIHtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICBtYXJnaW46IDA7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICovXG5cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xufVxuXG4vKipcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gKi9cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8qKlxuICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbiAqXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAqL1xuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbiAqL1xuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWVcbiAqICAgIChpbmNsdWRlIGAtbW96YCB0byBmdXR1cmUtcHJvb2YpLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAyICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4gKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm9yZGVyOiAwOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblxub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyogVGFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDtcbn1cbiIsImh0bWwge1xuICBmb250LXNpemU6IDYyLjUlO1xufVxuXG5ib2R5IHtcbiAgY29sb3I6ICRjb2xvcl9fbWFpbi10ZXh0O1xuICBmb250LXNpemU6IDEuNmVtO1xuICBmb250LWZhbWlseTogJGZvbnRfX21haW47XG4gID4gc3ZnIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbnByZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTAwMDtcbiAgYmFja2dyb3VuZDogI0YwRjBGMDtcbiAgcGFkZGluZzogNDBweDtcbn1cblxuLmhlYWRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMjA7XG4gIHBhZGRpbmc6IDAgJHNpdGUtYm9yZGVyO1xuICBoZWlnaHQ6ICRzaXRlLWJvcmRlciArIDIwO1xuICBsaW5lLWhlaWdodDogJHNpdGUtYm9yZGVyICsgMjA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgIHBhZGRpbmc6IDAgJHNpdGUtYm9yZGVyICsgMjA7XG4gICAgaGVpZ2h0OiAkc2l0ZS1ib3JkZXIgKyAyMDtcbiAgICBsaW5lLWhlaWdodDogJHNpdGUtYm9yZGVyICsgMjA7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoc2NyZWVuKSB7XG4gICAgcGFkZGluZzogMCAkc2l0ZS1ib3JkZXIgKyAzNTtcbiAgICBoZWlnaHQ6ICRzaXRlLWJvcmRlciArIDM1O1xuICAgIGxpbmUtaGVpZ2h0OiAkc2l0ZS1ib3JkZXIgKyAzNTtcbiAgfVxuICBoMSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGEge1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgbGluZS1oZWlnaHQ6ICRzaXRlLWJvcmRlcjtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICAgICBsaW5lLWhlaWdodDogJHNpdGUtYm9yZGVyICsgMjA7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYShzY3JlZW4pIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRzaXRlLWJvcmRlciArIDMwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLm9wZW4tbW9iaWxlLW1lbnUge1xuICBmbG9hdDogcmlnaHQ7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMnB4O1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGJhY2tncm91bmQ6ICRjb2xvcl9fbmF2LW1lbnUtYWN0aXZlO1xuICAgIG1hcmdpbjogMTlweCAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW47XG4gICAgei1pbmRleDogMTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yX19uYXYtbWVudS1hY3RpdmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW47XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgIHRvcDogLThweDtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBib3R0b206IC04cHg7XG4gICAgfVxuICB9XG4gICYuY2xvc2Uge1xuICAgIHNwYW4ge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTIyNWRlZyk7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKSB0cmFuc2xhdGUoOHB4LCAwKTtcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIC04cHgpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfSAgICAgIFxuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKHNjcmVlbikge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiNuYXYtbWFpbiB7XG4gIGZsb2F0OiByaWdodDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgdHJhbnNmb3JtOiBzY2FsZSguOSk7XG4gIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYShzY3JlZW4pIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm5hdiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKHNjcmVlbikge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG4gIH1cbiAgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBtYXJnaW46IDAgMjBweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNjcmVlbikge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgbWFyZ2luOiAwIDIwcHg7XG4gICAgICB9XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICAgIGEge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGNvbG9yOiAkY29sb3JfX25hdi1tZW51LWluYWN0aXZlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAuM3MgZWFzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX19uYXYtbWVudS1pbmFjdGl2ZTtcbiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggLjNzIGVhc2U7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgIH1cbiAgICAgICYuYWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgICAgJjpob3ZlcjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYShzY3JlZW4pIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJGNvbG9yX19uYXYtbWVudS1hY3RpdmU7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfX25hdi1tZW51LWFjdGl2ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSBcbn1cblxuI2NvbnRlbnQgYXJ0aWNsZSB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAoJHNpdGUtYm9yZGVyICsgMjApICRzaXRlLWJvcmRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICBwYWRkaW5nOiAkc2l0ZS1ib3JkZXIgKyAyMDtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYShzY3JlZW4pIHtcbiAgICBwYWRkaW5nOiAkc2l0ZS1ib3JkZXIgKyAzNTtcbiAgfVxuICAmLnBvc3QtdHlwZS13b3JrIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpbmNsdWRlIG1lZGlhKHNjcmVlbikge1xuICAgICAgcGFkZGluZzogJHNpdGUtYm9yZGVyICsgMzU7XG4gICAgfVxuICB9XG59XG5cbi5iYWNrZ3JvdW5kLWdyZXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX2JvZHktYmFja2dyb3VuZDtcbn1cblxuI2JhZGdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA2MHB4O1xuICByaWdodDogMDtcbiAgei1pbmRleDogMzA7XG4gIEBpbmNsdWRlIG1lZGlhKHNjcmVlbikge1xuICAgIHRvcDogMzBweDtcbiAgfVxufVxuIiwiQG1peGluIHBhZC1yYXRpbygkeCwgJHksICRzZWxlY3RvcjogaW1nKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMCAwIHBlcmNlbnRhZ2UoJHkvJHgpIDA7XG4gIGhlaWdodDogMDtcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIG1lZGlhKCRkZXZpY2UpIHtcbiAgQGlmICRkZXZpY2UgPT0gdGFibGV0IHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtb2JpbGUgKyAxKSBhbmQgKG1heC13aWR0aDogJHRhYmxldCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRkZXZpY2UgPT0gc2NyZWVuIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR0YWJsZXQgKyAxKSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJGRldmljZSA9PSBwb3J0cmFpdCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7IEBjb250ZW50OyB9XG4gIH1cbn0iLCIjcG9zdC0yIHtcbiAgLndyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAucHJvamVjdC1jb3ZlcjpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgZWFzZTtcbiAgfVxuICBoMSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoLjUpO1xuICAgIHBlcnNwZWN0aXZlOiAxMDAwO1xuICAgIC5wcmVmaXgge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSguNSk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbiAgICB9XG4gICAgLnN1ZmZpeCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMjUlKSByb3RhdGUzZCgxLDAsMCwgMjBkZWcpIHNjYWxlKDEuMDUpO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC41cyBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG4gICAgfVxuICB9XG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgY29sb3I6ICRjb2xvcl9fd29yay10aXRsZS1hbHQ7XG4gICAgb3BhY2l0eTogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjNzIGVhc2U7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbiAgJjpub3QoLmxvYWRpbmctcHJvamVjdCkgLnByb2plY3QtY292ZXI6aG92ZXIsIC5wcm9qZWN0LWNvdmVyLmFjdGl2ZSB7XG4gICAgei1pbmRleDogMTtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAuNTtcbiAgICB9XG4gICAgYSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgLnByZWZpeCwgLnN1ZmZpeCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApIHJvdGF0ZTNkKDEsMCwwLDApIHNjYWxlKDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAucHJvamVjdC10aXRsZSB7XG4gICAgdG9wOiA1MCU7XG4gIH1cbiAgLnByb2plY3QtY292ZXIgLmxvYWRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgei1pbmRleDogMTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYShzY3JlZW4pIHtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgfVxuICAgIHN2ZyB7XG4gICAgICBoZWlnaHQ6IDM0cHg7XG4gICAgICB3aWR0aDogMzRweDtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICAgICB3aWR0aDogNzBweDtcbiAgICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEoc2NyZWVuKSB7XG4gICAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5wb3N0LXR5cGUtcHJvamVjdCB7XG4gIGhlYWRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG59XG5cbi5wcm9qZWN0LWNvdmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDUwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMzIlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICBsZWZ0OiA1MCU7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoc2NyZWVuKSB7XG4gICAgbGVmdDogNTAlO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhIChwb3J0cmFpdCkge1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiA1MCU7XG4gICAgaGVpZ2h0OiAzMiU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIH1cbiAgLm5vLWpzICYge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fb3ZlcmxheTtcbiAgICBvcGFjaXR5OiAuNTtcbiAgfVxufVxuXG4ucHJvamVjdC1pbmZvcm1hdGlvbnMge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IDAgJGlubmVyLXdyYXBwZXI7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICB6LWluZGV4OiAxMDtcbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZzogMCAkaW5uZXItd3JhcHBlcjtcbiAgICBAaW5jbHVkZSBtZWRpYShwb3J0cmFpdCkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIG1lZGlhKHNjcmVlbikge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBhZGRpbmc6IDAgJGlubmVyLXdyYXBwZXIgKyAyNTtcbiAgfVxuICAucHJvamVjdC1pbmZvcm1hdGlvbi1iYWNrZ3JvdW5kIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG4gIC53cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuICB1bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDQwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKHNjcmVlbikge1xuICAgICAgcGFkZGluZzogMzBweCA3MHB4O1xuICAgIH1cbiAgICBsaSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbjogMCAzMHB4O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYShwb3J0cmFpdCkge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYShzY3JlZW4pIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbjogMCAzMHB4O1xuICAgICAgfVxuICAgICAgaDIsIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfX2hlYWRpbmctdGV4dDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDM7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoc2NyZWVuKSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDM7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGgyIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250X19oZWFkaW5ncztcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoc2NyZWVuKSB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBoMyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnLyc7XG4gICAgICAgICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoc2NyZWVuKSB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcvJztcbiAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgICAgIH0gICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6bGFzdC1jaGlsZCBoMyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnByb2plY3QtdGl0bGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMzAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMDtcbiAgei1pbmRleDogMjtcbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgdG9wOiA1MCU7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoc2NyZWVuKSB7XG4gICAgdG9wOiA1MCU7XG4gIH1cbiAgLnByZWZpeCwgLnN1ZmZpeCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6ICRmb250X19oZWFkaW5ncztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIC4zcyBlYXNlO1xuICB9XG4gIC5wcmVmaXgge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICB3aWR0aDogNjRweDtcbiAgICBoZWlnaHQ6IDY0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDY0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEwcHg7XG4gICAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgICBib3JkZXI6IDRweCBzb2xpZDtcbiAgICAgIGZvbnQtc2l6ZTogNXJlbTtcbiAgICAgIHdpZHRoOiAkbG9hZGVyICsgNDA7XG4gICAgICBoZWlnaHQ6ICRsb2FkZXIgKyA0MDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkbG9hZGVyICsgNDA7XG4gICAgICB0b3A6IDMwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKHNjcmVlbikge1xuICAgICAgYm9yZGVyOiA0cHggc29saWQ7XG4gICAgICBmb250LXNpemU6IDVyZW07XG4gICAgICB3aWR0aDogJGxvYWRlciArIDQwO1xuICAgICAgaGVpZ2h0OiAkbG9hZGVyICsgNDA7XG4gICAgICBsaW5lLWhlaWdodDogJGxvYWRlciArIDQwO1xuICAgICAgdG9wOiAzMHB4O1xuICAgIH1cbiAgfVxuICAuc3VmZml4IHtcbiAgICBmb250LXNpemU6IDRyZW07XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTEwcHg7XG4gICAgei1pbmRleDogMTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICAgdG9wOiAtMzBweDtcbiAgICAgIGZvbnQtc2l6ZTogMTZyZW07XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKHNjcmVlbikge1xuICAgICAgdG9wOiAtMzBweDtcbiAgICAgIGZvbnQtc2l6ZTogMTZyZW07XG4gICAgfVxuICB9XG59XG5cbi5pY29uLmRvd24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgYm90dG9tOiAxNDBweDtcbiAgZmlsbDogd2hpdGU7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogNTtcbiAgZGlzcGxheTogbm9uZTtcbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoc2NyZWVuKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICB9XG59XG5cbiNyZWxhdGVkLXdvcmtzIHtcbiAgY2xlYXI6IGJvdGg7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xuICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICBwYWRkaW5nLXRvcDogNzBweDtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYShzY3JlZW4pIHtcbiAgICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gIH1cbiAgLndyYXBwZXIge1xuICAgIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKHNjcmVlbikge1xuICAgICAgcGFkZGluZzogMCAzMHB4O1xuICAgIH1cbiAgfVxuICB1bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLmdyaWQtc2l6ZXIge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHBvcnRyYWl0KSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYShzY3JlZW4pIHtcbiAgICAgICAgd2lkdGg6IDMzLjMzMyU7XG4gICAgICB9XG4gICAgfVxuICAgIC5pdGVtIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKHBvcnRyYWl0KSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNjcmVlbikge1xuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMlO1xuICAgICAgfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7XG4gICAgICAgIH1cbiAgICAgICAgLnNoYXJlLWxpbmtzIGxpIHtcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShzY3JlZW4pIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzaGFyZTtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjA1cztcbiAgICAgICAgICAgIH0gICAgICAgICAgXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC4xNXM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC4yNXM7XG4gICAgICAgICAgICB9ICAgICAgICAgICAgXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLncyIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoc2NyZWVuKSB7XG4gICAgICAgICAgd2lkdGg6IDY2LjY2NiU7XG4gICAgICAgIH1cbiAgICAgICAgLnRodW1iIHtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgcGFkLXJhdGlvKDEsMC43MTg2MzExNzg3KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoc2NyZWVuKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwYWQtcmF0aW8oMSwwLjcxODYzMTE3ODcpO1xuICAgICAgICAgIH0gICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYudzEge1xuICAgICAgICAudGh1bWIge1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwYWQtcmF0aW8oMSwxLjQ5MjEwNTI2MzIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShzY3JlZW4pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBhZC1yYXRpbygxLDEuNDkyMTA1MjYzMik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICAgIGZpZ3VyZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBmaWx0ZXIgLjNzIGVhc2Utb3V0O1xuICAgICAgICB9XG4gICAgICAgIGZpZ2NhcHRpb24ge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udF9faGVhZGluZ3M7XG4gICAgICAgICAgbWluLWhlaWdodDogNTBweDtcbiAgICAgICAgICBoNCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfX3dvcmstdGl0bGU7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgfVxuICAgICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfX3dvcmstaW5mb3JtYXRpb25zO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRfX21haW47XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4ucHJvamVjdC1uYXZpZ2F0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6ICRzaXRlLWJvcmRlcjtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgdG9wOiAoJHNpdGUtYm9yZGVyICsgMjApO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKHNjcmVlbikge1xuICAgIHRvcDogKCRzaXRlLWJvcmRlciArIDM1KTtcbiAgfVxuICBhIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuICAgIC5saW5rLXByb2plY3QtdGl0bGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBmb250LWZhbWlseTogJGZvbnRfX2hlYWRpbmdzO1xuICAgICAgY29sb3I6ICRjb2xvcl9fcHJvamVjdC1uYXY7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gICAgICBzcGFuIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9fcHJvamVjdC1uYXYtbGlnaHQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udF9fbWFpbjtcbiAgICAgIH1cbiAgICB9XG4gICAgc3ZnIHtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgaGVpZ2h0OiAxM3B4O1xuICAgICAgZmlsbDogJGNvbG9yX19wcm9qZWN0LW5hdjtcbiAgICB9XG4gICAgJi5wcmV2LXByb2plY3Qge1xuICAgICAgLmxpbmstcHJvamVjdC10aXRsZSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgICBsZWZ0OiAwO1xuICAgICAgQGluY2x1ZGUgbWVkaWEoc2NyZWVuKSB7XG4gICAgICAgIHdpZHRoOiAoJHNpdGUtYm9yZGVyICsgMzUpO1xuICAgICAgfSAgICAgIFxuICAgIH1cbiAgICAmLm5leHQtcHJvamVjdCB7XG4gICAgICAubGluay1wcm9qZWN0LXRpdGxlIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgICByaWdodDogMDtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNjcmVlbikge1xuICAgICAgICB3aWR0aDogKCRzaXRlLWJvcmRlciArIDM1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5wcm9qZWN0LW5hdmlnYXRpb24tY292ZXJzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAucHJldi1wcm9qZWN0LWNvdmVyLCAubmV4dC1wcm9qZWN0LWNvdmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAzMiU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBtZWRpYShwb3J0cmFpdCkge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG4gICAgLmxvYWRlciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX292ZXJsYXk7XG4gICAgfVxuICB9XG4gIC5wcmV2LXByb2plY3QtY292ZXIge1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMCUsIDApO1xuICAgIC5sb2FkZXIge1xuICAgICAgbGVmdDogMDtcbiAgICB9ICAgXG4gIH1cbiAgLm5leHQtcHJvamVjdC1jb3ZlciB7XG4gICAgcmlnaHQ6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTAwJSwgMCk7XG4gICAgLmxvYWRlciB7XG4gICAgICByaWdodDogMDtcbiAgICB9XG4gIH1cbn1cbi5zaGFyZS1saW5rcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiA3MHB4O1xuICByaWdodDogMjBweDtcbiAgei1pbmRleDogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIEBpbmNsdWRlIG1lZGlhKHBvcnRyYWl0KSB7XG4gICAgcmlnaHQ6IDVweDtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICByaWdodDogMjVweDtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYShzY3JlZW4pIHtcbiAgICB0b3A6IDQ1JTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlIWltcG9ydGFudDsgICAgXG4gIH1cbiAgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICAgIG1hcmdpbjogNXB4O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjNzIGVhc2Utb3V0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaW5jbHVkZSBtZWRpYShzY3JlZW4pIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgYW5pbWF0aW9uLW5hbWU6IHNoYXJlLW91dDtcbiAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcbiAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMzksMC41OCwwLjU3LDEpO1xuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZChtaW4td2lkdGg6IDE2MDFweCkge1xuICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICBtYXJnaW46IDEwcHg7XG4gICAgfVxuICAgIHN2ZyB7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGZpbGw6IHdoaXRlO1xuICAgICAgdHJhbnNpdGlvbjogZmlsbCAuM3MgZWFzZS1vdXQ7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZChtaW4td2lkdGg6IDE2MDFweCkge1xuICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgc3ZnIHtcbiAgICAgICAgZmlsbDogYmxhY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBrZXlmcmFtZXMgc2hhcmV7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwcHgpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2hhcmUtb3V0e1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59IiwiLnBvc3QtdHlwZS13b3JrIHtcbiAgYmFja2dyb3VuZDogJGNvbG9yX19vdmVybGF5O1xuICBAaW5jbHVkZSBtZWRpYShzY3JlZW4pIHtcbiAgICBwYWRkaW5nOiAkc2l0ZS1ib3JkZXIgKyAzNTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG92ZXJmbG93OiBoaWRkZW47ICAgIFxuICB9XG4gIC53cmFwcGVyIHtcbiAgICBtYXJnaW46IDAgMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBwYWRkaW5nOiA0MHB4IDBweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICAgcGFkZGluZzogNDBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoc2NyZWVuKSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWFyZ2luOiAwICRpbm5lci13cmFwcGVyICsgMjVweDtcbiAgICB9XG4gIH1cbiAgLmljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogNjBweDtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTMwcHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnRpemUoJGNvbG9yX19pY29uLW91dGVyLXJpbmcsIDEpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4ycyBlYXNlLWluLW91dDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfX2ljb24tb3V0ZXItcmluZztcbiAgICB9XG4gIH1cbiAgLnByZXYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIEBpbmNsdWRlIG1lZGlhKHNjcmVlbikge1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxlZnQ6IC04MHB4O1xuICAgIH1cbiAgICBcbiAgfVxuICAubmV4dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgei1pbmRleDogLTE7XG4gICAgQGluY2x1ZGUgbWVkaWEoc2NyZWVuKSB7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcmlnaHQ6IC04MHB4O1xuICAgIH0gXG4gIH1cbiAgLmljb24uY2xvc2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdG9wOiA5MHB4O1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIEBpbmNsdWRlIG1lZGlhKHNjcmVlbikge1xuICAgICAgdG9wOiAzMHB4O1xuICAgICAgcmlnaHQ6IC04MHB4O1xuICAgIH1cbiAgfVxuICAuc2xpZGVyLXdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgaGVpZ2h0OiA1MHZoO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICAgIGhlaWdodDogNjB2aDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgLTIwJSk7XG4gICAgICBAaW5jbHVkZSBtZWRpYShwb3J0cmFpdCkge1xuICAgICAgICBoZWlnaHQ6IDUwdmg7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpOyAgICAgICAgXG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKHNjcmVlbikge1xuICAgICAgcGFkZGluZzogMTMwcHggJGlubmVyLXdyYXBwZXIgKyAyNXB4O1xuICAgICAgdG9wOiAwO1xuICAgICAgcGFkZGluZzogMTAwcHggMDtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNjcmVlbikge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnNsaWNrLXNsaWRlciwgLnNsaWNrLWxpc3QsIC5zbGljay10cmFjayB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG4gIC5zbGljay1jbG9uZWQge1xuICAgIGRpc3BsYXk6IG5vbmUhaW1wb3J0YW50O1xuICB9XG4gIGgxIHtcbiAgICBtYXJnaW46IDMwcHggMCAwIDA7XG4gICAgY29sb3I6ICRjb2xvcl9fd29yay10aXRsZS1hbHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LWZhbWlseTogJGZvbnRfX2hlYWRpbmdzO1xuICAgIGZvbnQtc2l6ZTogMi42cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gICAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgICBmb250LXNpemU6IDMuNnJlbTtcbiAgICAgIG1hcmdpbjogNTBweCAwIDAgMDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoc2NyZWVuKSB7XG4gICAgICBmb250LXNpemU6IDMuNnJlbTtcbiAgICB9XG4gIH1cbiAgcCB7XG4gICAgY29sb3I6ICRjb2xvcl9fd29yay1pbmZvcm1hdGlvbnM7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cblxuc3ZnIC5vdXRlci1yaW5nIHtcbiAgd2lkdGg6IDYwcHg7XG4gIGhlaWdodDogNjBweDtcbiAgZmlsbDogJGNvbG9yX19pY29uLW91dGVyLXJpbmc7XG4gIHRyYW5zaXRpb246IGNvbG9yIC4zcyBlYXNlO1xufVxuc3ZnIC5hcnJvdywgc3ZnIC5jbG9zZSB7XG4gIGZpbGw6ICRjb2xvcl9faWNvbi1hcnJvdztcbn0iLCIjcG9zdC0xNiB7XG4gIC5hcnRpY2xlLWNvbnRlbnQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC5iYWNrZ3JvdW5kLWdyZXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogLTE7XG4gIH1cbiAgLnBvcnRyYWl0IHtcbiAgICBwYWRkaW5nOiAyMHB4IDIwcHggMzBweDtcbiAgICBtYXJnaW46IDBweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAyMHB4IDIwcHggNDBweDtcbiAgICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIHBhZGRpbmc6IDYwcHggMzBweCA2MHB4IDYwcHg7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBAaW5jbHVkZSBtZWRpYShwb3J0cmFpdCkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggMTIwcHggNjBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoc2NyZWVuKSB7XG4gICAgICBtYXJnaW46IDBweDtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBwYWRkaW5nOiA2MHB4O1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgICAud3JhcHBlciB7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBwYWRkaW5nOiAwIDAgMTAwJSAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHBvcnRyYWl0KSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAxMjAlIDA7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYShwb3J0cmFpdCkge1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAgMTMwJSAwO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEoc2NyZWVuKSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIH1cbiAgICB9XG4gICAgaW1nIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDE1JTtcbiAgICAgIHdpZHRoOiA3MCU7XG4gICAgICBAaW5jbHVkZSBtZWRpYShwb3J0cmFpdCkge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEocG9ydHJhaXQpIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNjcmVlbikge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYXJ0aWNsZS1ib2R5IHtcbiAgICBtYXJnaW46IDQwcHggMjBweDtcbiAgICBAaW5jbHVkZSBtZWRpYShwb3J0cmFpdCkge1xuICAgICAgbWFyZ2luOiAwIDIwcHggNDBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgcGFkZGluZzogNjBweCA2MHB4IDYwcHggMzBweDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBAaW5jbHVkZSBtZWRpYShwb3J0cmFpdCkge1xuICAgICAgICBwYWRkaW5nOiAwcHggNDBweCAyMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKHNjcmVlbikge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIHBhZGRpbmc6IDYwcHg7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuICAuYXJ0aWNsZS1oMSB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1mYW1pbHk6ICRmb250X19oZWFkaW5ncztcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICAgIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKHNjcmVlbikge1xuICAgICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgfVxuICAgIHNwYW4ge1xuICAgICAgY29sb3I6ICRjb2xvcl9fYmlvZ3JhcGh5LXRleHQ7XG4gICAgfVxuICB9XG4gIC5jb2x1bW4ge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udF9fYmlvZ3JhcGh5O1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIGNvbG9yOiAkY29sb3JfX2Jpb2dyYXBoeS10ZXh0O1xuICAgIEBpbmNsdWRlIG1lZGlhKHNjcmVlbikge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgcGFkZGluZzogMCAwIDAgMjBweDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7ICAgICAgXG4gICAgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kKG1pbi13aWR0aDogMTYwMXB4KSB7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICB9XG4gICAgcCB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEocG9ydHJhaXQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNjcmVlbikge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgIH1cbiAgICB9IFxuICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYShzY3JlZW4pIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4IDAgMDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgICAgICBcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIjcG9zdC05IHtcbiAgaDEge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXI6IDRweCBzb2xpZDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxMDBweDtcbiAgICB0b3A6IDIwcHg7XG4gICAgQGluY2x1ZGUgbWVkaWEoc2NyZWVuKSB7XG4gICAgICBmb250LXNpemU6IDUuNnJlbTtcbiAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgIGhlaWdodDogMjUwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMjUwcHg7XG4gICAgICB0b3A6IDcwcHg7XG4gICAgfVxuICAgIC5wcmVmaXgsIC5zdWZmaXgge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7ICAgICAgXG4gICAgfVxuICAgIC5wcmVmaXgge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMjAlLC01MCUpO1xuICAgIH1cbiAgICAuc3VmZml4IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0yMCUsNTAlKTtcbiAgICB9XG4gIH1cbiAgc2VjdGlvbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuICB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTQwcHg7XG4gICAgICAgIHdpZHRoOiAzcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNjOWM5Yzk7XG4gICAgICAgIG1hcmdpbjogMjBweCBhdXRvO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYShzY3JlZW4pIHtcbiAgICAgICAgICBoZWlnaHQ6IDI0MHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBpbWcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgICAubWFzayB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udF9faGVhZGluZ3M7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLjFlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29sb3I6ICRjb2xvcl9fZXhoaWJpdGlvbjtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjJlbTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYShzY3JlZW4pIHtcbiAgICAgICAgZm9udC1zaXplOiA2cmVtO1xuICAgICAgfVxuICAgIH1cbiAgICBoMiB7XG4gICAgICB3aWR0aDogODAlO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBmb250LWZhbWlseTogJGZvbnRfX2hlYWRpbmdzO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAuMWVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjJlbTtcbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYShzY3JlZW4pIHtcbiAgICAgICAgZm9udC1zaXplOiA2cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIiNwb3N0LTEyIHtcbiAgLnBhZ2UtYm9keXtcbiAgICBwYWRkaW5nOiAyMHB4IDAgNDBweDtcbiAgfVxuICBoMSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6ICRjb2xvcl9faGVhZGluZy10ZXh0O1xuICB9XG4gIC5ob2xlcy1pbi10ZXh0LWZvcm0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHBvcnRyYWl0KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKHNjcmVlbikge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG4gIC53cGNmNy1mb3JtIHtcbiAgICAuaGlkZGVuLWZvcm0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKHBvcnRyYWl0KSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNjcmVlbikge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgPiBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMWVtO1xuICAgICAgfVxuICAgIH1cbiAgICB3aWR0aDogODAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICAgZm9udC1zaXplOiAyLjhyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogODAlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHBvcnRyYWl0KSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKHNjcmVlbikge1xuICAgICAgZm9udC1zaXplOiAyLjhyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogODAlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB9XG4gICAgLmV4dGVuZGFibGUtaW5wdXQtY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICYuZnVsbCB7XG4gICAgICAgIC5ib3JkZXItYm90dG9tIHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5ib3JkZXItYm90dG9tIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfX2NvbnRhY3QtbGluZXM7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgZWFzZS1vdXQ7XG4gICAgfVxuICAgIC5leHRlbmRhYmxlLWlucHV0IHtcbiAgICAgIG1pbi13aWR0aDogMTUwcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgY29sb3I6ICRjb2xvcl9fY29udGFjdC1saW5lcztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIC4zcyBlYXNlLW91dDtcbiAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGNvbG9yX19jb250YWN0LXRleHQ7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICB9XG4gICAgfVxuICAgIHAge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGNvbG9yOiAkY29sb3JfX2NvbnRhY3QtdGV4dDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIC53cGNmNy10ZXh0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3JfX2NvbnRhY3QtbGluZXM7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICB9XG4gICAgLm1lc3NhZ2Uge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgICAgIHdpZHRoOiA3MDBweDtcbiAgICAgICAgbWFyZ2luOiA0MHB4IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKHBvcnRyYWl0KSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYShzY3JlZW4pIHtcbiAgICAgICAgd2lkdGg6IDcwMHB4O1xuICAgICAgICBtYXJnaW46IDQwcHggYXV0bztcbiAgICAgIH1cbiAgICAgIC5ib3JkZXItYm90dG9tIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKHBvcnRyYWl0KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYShzY3JlZW4pIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgdG9wOiAzNHB4O1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICB0b3A6IDczcHg7XG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgICAgIHRvcDogMTEycHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3JfX2NvbnRhY3QtbGluZXM7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgcmVzaXplOiBub25lO1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKHBvcnRyYWl0KSB7XG4gICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAkY29sb3JfX2NvbnRhY3QtbGluZXM7XG4gICAgICAgICAgICByZXNpemU6IGF1dG87XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKHNjcmVlbikge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICByZXNpemU6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnN1Ym1pdC13cmFwcGVyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgLndwY2Y3LXN1Ym1pdCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDEwcHggNjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgbWFyZ2luLXRvcDogMWVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKHBvcnRyYWl0KSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMWVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYShzY3JlZW4pIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAud3BjZjctcmVzcG9uc2Utb3V0cHV0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGJvcmRlcjogMCFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59Il0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */
@charset "UTF-8";
@import url(http://fonts.googleapis.com/css?family=Merriweather);
@font-face {
	font-family: 'DIN';
	src: url('fonts/din_alternate_light-webfont.eot');
	src: url('fonts/din_alternate_light-webfont.eot?#iefix') format('embedded-opentype'), url('fonts/din_alternate_light-webfont.woff2') format('woff2'), url('fonts/din_alternate_light-webfont.woff') format('woff'), url('fonts/din_alternate_light-webfont.ttf') format('truetype'), url('fonts/din_alternate_light-webfont.svg#din_alternate_lightregular') format('svg');
	font-weight: 400;
	font-style: normal
}
@font-face {
	font-family: 'DIN';
	src: url('fonts/din_alternate-webfont.eot');
	src: url('fonts/din_alternate-webfont.eot?#iefix') format('embedded-opentype'), url('fonts/din_alternate-webfont.woff2') format('woff2'), url('fonts/din_alternate-webfont.woff') format('woff'), url('fonts/din_alternate-webfont.ttf') format('truetype'), url('fonts/din_alternate-webfont.svg#din_alternateregular') format('svg');
	font-weight: 500;
	font-style: normal
}
@font-face {
	font-family: 'DIN';
	src: url('fonts/din_alternate_medium-webfont.eot');
	src: url('fonts/din_alternate_medium-webfont.eot?#iefix') format('embedded-opentype'), url('fonts/din_alternate_medium-webfont.woff2') format('woff2'), url('fonts/din_alternate_medium-webfont.woff') format('woff'), url('fonts/din_alternate_medium-webfont.ttf') format('truetype'), url('fonts/din_alternate_medium-webfont.svg#din_alternate_mediumregular') format('svg');
	font-weight: 600;
	font-style: normal
}
@font-face {
	font-family: 'DIN';
	src: url('fonts/din_alternate_bold-webfont.eot');
	src: url('fonts/din_alternate_bold-webfont.eot?#iefix') format('embedded-opentype'), url('fonts/din_alternate_bold-webfont.woff2') format('woff2'), url('fonts/din_alternate_bold-webfont.woff') format('woff'), url('fonts/din_alternate_bold-webfont.ttf') format('truetype'), url('fonts/din_alternate_bold-webfont.svg#din_alternatebold') format('svg');
	font-weight: 700;
	font-style: normal
}
@font-face {
	font-family: 'DIN';
	src: url('fonts/din_alternate_black-webfont.eot');
	src: url('fonts/din_alternate_black-webfont.eot?#iefix') format('embedded-opentype'), url('fonts/din_alternate_black-webfont.woff2') format('woff2'), url('fonts/din_alternate_black-webfont.woff') format('woff'), url('fonts/din_alternate_black-webfont.ttf') format('truetype'), url('fonts/din_alternate_black-webfont.svg#din_alternate_blackregular') format('svg');
	font-weight: 900;
	font-style: normal
}
@font-face {
	font-family: 'Futura Heavy';
	src: url('fonts/FuturaStd-Heavy.eot');
	src: url('fonts/FuturaStd-Heavy.eot?#iefix') format('embedded-opentype'), url('fonts/FuturaStd-Heavy.woff') format('woff'), url('fonts/FuturaStd-Heavy.ttf') format('truetype');
	font-weight: 900;
	font-style: normal
}
html {
	font-family: sans-serif;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%
}
body {
	margin: 0
}
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
	display: block
}
audio, canvas, progress, video {
	display: inline-block;
	vertical-align: baseline
}
audio:not([controls]) {
	display: none;
	height: 0
}
[hidden], template {
display:none
}
a {
	background-color: transparent
}
a:active, a:hover {
	outline: 0
}
abbr[title] {
	border-bottom: 1px dotted
}
b, strong {
	font-weight: 700
}
dfn {
	font-style: italic
}
h1 {
	font-size: 2em;
	margin: .67em 0
}
mark {
	background: #ff0;
	color: #000
}
small {
	font-size: 80%
}
sub, sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline
}
sup {
	top: -.5em
}
sub {
	bottom: -.25em
}
img {
	border: 0
}
svg:not(:root) {
	overflow: hidden
}
figure {
	margin: 1em 40px
}
hr {
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
	height: 0
}
pre {
	overflow: auto
}
code, kbd, pre, samp {
	font-family: monospace, monospace;
	font-size: 1em
}
button, input, optgroup, select, textarea {
	color: inherit;
	font: inherit;
	margin: 0
}
button {
	overflow: visible
}
button, select {
	text-transform: none
}
button, html input[type="button"], input[type="reset"], input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer
}
button[disabled], html input[disabled] {
	cursor: default
}
button::-moz-focus-inner, input::-moz-focus-inner {
border:0;
padding:0
}
input {
	line-height: normal
}
input[type="checkbox"], input[type="radio"] {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0
}
input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button {
height:auto
}
input[type="search"] {
	-webkit-appearance: textfield;
	-webkit-box-sizing: content-box;
	box-sizing: content-box
}
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
-webkit-appearance:none
}
fieldset {
	border: 1px solid silver;
	margin: 0 2px;
	padding: .35em .625em .75em
}
legend {
	border: 0;
	padding: 0
}
textarea {
	overflow: auto
}
optgroup {
	font-weight: 700
}
table {
	border-collapse: collapse;
	border-spacing: 0
}
td, th {
	padding: 0
}
html {
	font-size: 62.5%
}
body {
	color: white;
	font-size: 1.6em;
	font-family: 'DIN', sans-serif;
	background: black;
	background: bl;
}
body>svg {
	display: none
}
pre {
	position: relative;
	z-index: 1000;
	background: #F0F0F0;
	padding: 40px
}
.header {
	position: fixed;
	z-index: 20;
	padding: 0 20px;
	height: 40px;
	line-height: 40px;
	background-color: black;
	top: 0;
	left: 0;
	width: 100%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box
}
@media only screen and (min-width:681px) and (max-width:1024px) {
.header {
	padding: 0 40px;
	height: 40px;
	line-height: 40px
}
}
@media only screen and (min-width:1025px) {
.header {
	padding: 0 55px;
	height: 55px;
	line-height: 55px
}
}
.header h1 {
	margin: 0;
	line-height: 1;
	float: left;
	position: relative;
	z-index: 1
}
.header h1 a {
	font-size: 1rem;
	line-height: 20px
}
@media only screen and (min-width:681px) and (max-width:1024px) {
.header h1 a {
	line-height: 40px
}
}
@media only screen and (min-width:1025px) {
.header h1 a {
	line-height: 50px
}
}
.open-mobile-menu {
	float: right;
	width: 40px;
	height: 40px
}
.open-mobile-menu span {
	margin: 19px 0;
	position: relative;
	z-index: 1;
	float: right
}
.open-mobile-menu span, .open-mobile-menu span:before, .open-mobile-menu span:after {
	display: block;
	height: 2px;
	width: 30px;
	background: #f0f0f0;
	-webkit-transition: all .3s ease-in;
	transition: all .3s ease-in
}
.open-mobile-menu span:before, .open-mobile-menu span:after {
	content: '';
	position: absolute;
	left: 0
}
.open-mobile-menu span:before {
	top: -8px
}
.open-mobile-menu span:after {
	bottom: -8px
}
.open-mobile-menu.close span {
	-webkit-transform: rotate(-225deg);
	-ms-transform: rotate(-225deg);
	transform: rotate(-225deg)
}
.open-mobile-menu.close span:before {
	-webkit-transform: rotate(90deg)translate(8px, 0);
	-ms-transform: rotate(90deg)translate(8px, 0);
	transform: rotate(90deg)translate(8px, 0)
}
.open-mobile-menu.close span:after {
	-webkit-transform: translate(0, -8px);
	-ms-transform: translate(0, -8px);
	transform: translate(0, -8px);
	opacity: 0
}
@media only screen and (min-width:681px) and (max-width:1024px) {
.open-mobile-menu {
	display: none
}
}
@media only screen and (min-width:1025px) {
.open-mobile-menu {
	display: none
}
}
#prolinks {
	float: right;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background: black;
	display: none;
	-webkit-transform: scale(.9);
	-ms-transform: scale(.9);
	transform: scale(.9)
}
@media only screen and (min-width:681px) and (max-width:1024px) {
#prolinks {
	position: static;
	width: auto;
	height: 100%;
	display: block;
	-webkit-transform: none;
	-ms-transform: none;
	transform: none
}
}
@media only screen and (min-width:1025px) {
#prolinks {
	position: static;
	width: auto;
	height: 100%;
	display: block;
	-webkit-transform: none;
	-ms-transform: none;
	transform: none
}
}
#prolinks .nav {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%)
}
@media only screen and (min-width:681px) and (max-width:1024px) {
#prolinks .nav {
	position: static;
	-webkit-transform: none;
	-ms-transform: none;
	transform: none
}
}
@media only screen and (min-width:1025px) {
#prolinks .nav {
	position: static;
	-webkit-transform: none;
	-ms-transform: none;
	transform: none
}
}
#prolinks ul {
	list-style-type: none;
	margin: 0;
	padding: 0
}
#prolinks ul li {
	text-transform: uppercase;
	text-align: center
}
@media only screen and (min-width:681px) and (max-width:1024px) {
#prolinks ul li {
	float: left;
	text-align: left;
	margin: 0 20px
}
}
@media only screen and (min-width:1025px) {
#prolinks ul li {
	float: left;
	text-align: left;
	margin: 0 20px
}
}
#prolinks ul li:last-child {
	margin-right: 0
}
#prolinks ul a {
	text-transform: uppercase;
	color: #aeaeae;
	text-decoration: none;
	font-size: 1.3rem;
	position: relative;
	-webkit-transition: color .3s ease;
	transition: color .3s ease;
	letter-spacing: .08em;
	z-index: 2
}
#prolinks ul a:before {
	content: '';
	display: block;
	width: 0;
	height: 2px;
	background: #aeaeae;
	-webkit-transition: width .3s ease;
	transition: width .3s ease;
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	transform: translate(0, -50%);
	z-index: -1
}
#prolinks ul a.active:before {
	width: 100%
}
@media only screen and (min-width:1025px) {
#prolinks ul a:hover:before {
	width: 100%
}
}
#prolinks ul a.active {
	color: #DEDEDE;
}
#prolinks ul a.active:before {
	background: #000
}
#content article {
	min-height: 100vh;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 40px 20px;
	position: relative
}
@media only screen and (min-width:681px) and (max-width:1024px) {
#content article {
	padding: 40px
}
}
@media only screen and (min-width:1025px) {
#content article {
	padding: 55px
}
}
#content article.post-type-work {
	padding: 0
}
@media only screen and (min-width:1025px) {
#content article.post-type-work {
	padding: 55px
}
}
.background-grey {
	background-color: black;
}
#badge {
	display: block;
	position: fixed;
	top: 60px;
	right: 0;
	z-index: 30
}
@media only screen and (min-width:1025px) {
#badge {
	top: 30px
}
}
#post-2 .wrapper {
	position: relative
}
#post-2 .project-cover:before {
	opacity: 0;
	-webkit-transition: opacity .3s ease;
	transition: opacity .3s ease
}
#post-2 h1 {
	-webkit-transform: translate(-50%, -50%)scale(.5);
	-ms-transform: translate(-50%, -50%)scale(.5);
	transform: translate(-50%, -50%)scale(.5);
	-webkit-perspective: 1000;
	perspective: 1000
}
#post-2 h1 .prefix {
	-webkit-transform: scale(.5);
	-ms-transform: scale(.5);
	transform: scale(.5);
	-webkit-transition: all .4s cubic-bezier(.22, .61, .36, 1);
	transition: all .4s cubic-bezier(.22, .61, .36, 1)
}
#post-2 h1 .suffix {
	-webkit-transform: translate(0, -25%)rotate3d(1, 0, 0, 20deg)scale(1.05);
	transform: translate(0, -25%)rotate3d(1, 0, 0, 20deg)scale(1.05);
	-webkit-transition: all .5s cubic-bezier(.22, .61, .36, 1);
	transition: all .5s cubic-bezier(.22, .61, .36, 1)
}
#post-2 a {
	text-decoration: none;
	display: block;
	height: 100%;
	color: #fff;
	opacity: 0;
	-webkit-transition: opacity .3s ease;
	transition: opacity .3s ease;
	position: relative;
	z-index: 1
}
#post-2:not(.loading-project) .project-cover:hover, #post-2 .project-cover.active {
	z-index: 1
}
#post-2:not(.loading-project) .project-cover:hover:before, #post-2 .project-cover.active:before {
	opacity: .5
}
#post-2:not(.loading-project) .project-cover:hover a, #post-2 .project-cover.active a {
	opacity: 1
}
#post-2:not(.loading-project) .project-cover:hover a .prefix, #post-2:not(.loading-project) .project-cover:hover a .suffix, #post-2 .project-cover.active a .prefix, #post-2 .project-cover.active a .suffix {
	-webkit-transform: translate(0, 0)rotate3d(1, 0, 0, 0)scale(1);
	transform: translate(0, 0)rotate3d(1, 0, 0, 0)scale(1)
}
#post-2 .project-title {
	top: 50%
}
#post-2 .project-cover .loader {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	margin-top: 5px;
	z-index: 1;
	visibility: hidden
}
@media only screen and (min-width:681px) and (max-width:1024px) {
#post-2 .project-cover .loader {
	margin-top: 15px
}
}
@media only screen and (min-width:1025px) {
#post-2 .project-cover .loader {
	margin-top: 15px
}
}
#post-2 .project-cover .loader svg {
	height: 34px;
	width: 34px
}
@media only screen and (min-width:681px) and (max-width:1024px) {
#post-2 .project-cover .loader svg {
	width: 70px;
	height: 70px
}
}
@media only screen and (min-width:1025px) {
#post-2 .project-cover .loader svg {
	width: 70px;
	height: 70px
}
}
.post-type-project header {
	width: 100%;
	position: relative
}
.project-cover {
	position: absolute;
	top: 0;
	left: 50%;
	height: 100%;
	width: 32%;
	-webkit-transform: translate(-50%, 0);
	-ms-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
	background-position: center
}
@media only screen and (min-width:681px) and (max-width:1024px) {
.project-cover {
	left: 50%
}
}
@media only screen and (min-width:1025px) {
.project-cover {
	left: 50%
}
}
@media only screen and (orientation:portrait) {
.project-cover {
	left: 0;
	top: 50%;
	height: 32%;
	width: 100%;
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	transform: translate(0, -50%)
}
}
.no-js .project-cover {
	width: 100%
}
.project-cover:before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #1f1f1f;
	opacity: .5
}
.project-informations {
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 0 20px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transform: translateY(50%);
	-ms-transform: translateY(50%);
	transform: translateY(50%);
	z-index: 10
}
@media only screen and (min-width:681px) and (max-width:1024px) {
.project-informations {
	width: auto;
	padding: 0 20px
}
@media only screen and (orientation:portrait) {
.project-informations {
width:100%
}
}
}
@media only screen and (min-width:1025px) {
.project-informations {
	width: auto;
	padding: 0 45px
}
}
.project-informations .project-information-background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%
}
.project-informations .wrapper, .project-informations ul {
	position: relative;
	overflow: hidden
}
.project-informations ul {
	list-style-type: none;
	padding: 20px;
	margin: 0;
	z-index: 1
}
@media only screen and (min-width:681px) and (max-width:1024px) {
.project-informations ul {
	padding: 30px 40px
}
}
@media only screen and (min-width:1025px) {
.project-informations ul {
	padding: 30px 70px
}
}
@media only screen and (min-width:681px) and (max-width:1024px) {
.project-informations ul li {
	float: left;
	margin: 0 30px
}
@media only screen and (orientation:portrait) {
.project-informations ul li {
margin:0;
display:block;
width:100%;
overflow:hidden
}
}
}
@media only screen and (min-width:1025px) {
.project-informations ul li {
	float: left;
	margin: 0 30px
}
}
.project-informations ul li h2, .project-informations ul li h3 {
	font-size: 1.4rem;
	line-height: 1;
	color: #000
}
.project-informations ul li h3 {
	margin: 0
}
@media only screen and (min-width:681px) and (max-width:1024px) {
.project-informations ul li h2, .project-informations ul li h3 {
	line-height: 3;
	float: left
}
}
@media only screen and (min-width:1025px) {
.project-informations ul li h2, .project-informations ul li h3 {
	line-height: 3;
	float: left
}
}
.project-informations ul li h2 {
	font-family: 'Futura Heavy', sans-serif;
	text-transform: uppercase;
	margin: 0 0 5px
}
@media only screen and (min-width:681px) and (max-width:1024px) {
.project-informations ul li h2 {
	margin: 0
}
}
@media only screen and (min-width:1025px) {
.project-informations ul li h2 {
	margin: 0
}
}
.project-informations ul li h3 {
	margin-bottom: 20px
}
@media only screen and (min-width:681px) and (max-width:1024px) {
.project-informations ul li h3 {
	margin: 0
}
.project-informations ul li h3:before {
	content: '/';
	margin: 0 10px
}
}
@media only screen and (min-width:1025px) {
.project-informations ul li h3 {
	margin: 0
}
.project-informations ul li h3:before {
	content: '/';
	margin: 0 10px
}
}
.project-informations ul li:last-child h3 {
	margin: 0
}
.project-title {
	position: absolute;
	top: 30%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	text-align: center;
	margin: 0;
	z-index: 2
}
@media only screen and (min-width:681px) and (max-width:1024px) {
.project-title {
	top: 50%
}
}
@media only screen and (min-width:1025px) {
.project-title {
	top: 50%
}
}
.project-title .prefix, .project-title .suffix {
	display: block;
	font-family: 'Futura Heavy', sans-serif;
	text-transform: uppercase;
	-webkit-transition: color .3s ease;
	transition: color .3s ease
}
.project-title .prefix {
	font-size: 2rem;
	width: 64px;
	height: 64px;
	line-height: 64px;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	border: 2px solid;
	margin: 0 auto;
	position: relative;
	top: 10px
}
@media only screen and (min-width:681px) and (max-width:1024px) {
.project-title .prefix {
	border: 4px solid;
	font-size: 5rem;
	width: 130px;
	height: 130px;
	line-height: 130px;
	top: 30px
}
}
@media only screen and (min-width:1025px) {
.project-title .prefix {
	border: 4px solid;
	font-size: 5rem;
	width: 130px;
	height: 130px;
	line-height: 130px;
	top: 30px
}
}
.project-title .suffix {
	font-size: 2.5rem;
	color: #fff;
	position: relative;
	top: -10px;
	z-index: 1;
	letter-spacing: .08em
}
@media only screen and (min-width:681px) and (max-width:1024px) {
.project-title .suffix {
	top: -30px;
	font-size: 16rem
}
}
@media only screen and (min-width:1025px) {
.project-title .suffix {
	top: -30px;
	font-size: 7rem;
}
}
.icon.down {
	position: absolute;
	left: 50%;
	bottom: 140px;
	fill: #fff;
	width: 40px;
	height: 40px;
	margin-left: -20px;
	-webkit-transform: scale(1);
	-ms-transform: scale(1);
	transform: scale(1);
	-webkit-transition: -webkit-transform .2s cubic-bezier(.22, .61, .36, 1);
	transition: transform .2s cubic-bezier(.22, .61, .36, 1);
	cursor: pointer;
	z-index: 5;
	display: none
}
@media only screen and (min-width:681px) and (max-width:1024px) {
.icon.down {
	display: block
}
}
@media only screen and (min-width:1025px) {
.icon.down {
	display: block
}
}
.icon.down:hover {
	-webkit-transform: scale(1.2);
	-ms-transform: scale(1.2);
	transform: scale(1.2)
}
#related-works {
	clear: both;
	padding-top: 30px
}
@media only screen and (min-width:681px) and (max-width:1024px) {
#related-works {
	padding-top: 70px
}
}
@media only screen and (min-width:1025px) {
#related-works {
	padding-top: 100px
}
}
@media only screen and (min-width:681px) and (max-width:1024px) {
#related-works .wrapper {
	padding: 0 5px
}
}
@media only screen and (min-width:1025px) {
#related-works .wrapper {
	padding: 0 30px
}
}
#related-works ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
	overflow: hidden
}
#related-works ul .grid-sizer {
	width: 50%
}
@media only screen and (orientation:portrait) {
#related-works ul .grid-sizer {
	width: 100%
}
}
@media only screen and (min-width:681px) and (max-width:1024px) {
#related-works ul .grid-sizer {
	width: 50%
}
}
@media only screen and (min-width:1025px) {
#related-works ul .grid-sizer {
	width: 33.333%
}
}
#related-works ul .item {
	float: left;
	width: 50%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin-bottom: 50px;
	padding: 0 15px
}
#related-works ul .item:last-child {
	margin-bottom: 0
}
@media only screen and (orientation:portrait) {
#related-works ul .item {
	width: 100%;
	padding: 0
}
}
@media only screen and (min-width:681px) and (max-width:1024px) {
#related-works ul .item {
	padding: 0 15px;
	width: 553px
}
}
@media only screen and (min-width:1025px) {
#related-works ul .item {
	padding: 0 15px;
	width: 33.333%
}
}
#related-works ul .item:hover img {
	-webkit-filter: grayscale(100%);
	filter: grayscale(100%)
}
@media only screen and (min-width:1025px) {
#related-works ul .item:hover .share-links li {
	-webkit-animation-name: share;
	animation-name: share;
	-webkit-animation-duration: .5s;
	animation-duration: .5s
}
#related-works ul .item:hover .share-links li:nth-child(1) {
	-webkit-animation-delay: .05s;
	animation-delay: .05s
}
#related-works ul .item:hover .share-links li:nth-child(2) {
	-webkit-animation-delay: .15s;
	animation-delay: .15s
}
#related-works ul .item:hover .share-links li:nth-child(3) {
	-webkit-animation-delay: .25s;
	animation-delay: .25s
}
}
@media only screen and (min-width:681px) and (max-width:1024px) {
#related-works ul .item.w2 {
	width: 100%
}
}
@media only screen and (min-width:1025px) {
#related-works ul .item.w2 {
	width: 66.666%
}
}
#related-works ul .item.w2 .thumb {
	overflow: hidden
}
@media only screen and (min-width:681px) and (max-width:1024px) {
#related-works ul .item.w2 .thumb {
	position: relative;
	padding: 0 0 71.86312%;
	height: 0
}
#related-works ul .item.w2 .thumb img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%
}
}
@media only screen and (min-width:1025px) {
#related-works ul .item.w2 .thumb {
	position: relative;
	padding: 0 0 71.86312%;
	height: 0
}
#related-works ul .item.w2 .thumb img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%
}
}
#related-works ul .item.w1 .thumb {
	overflow: hidden
}
@media only screen and (min-width:681px) and (max-width:1024px) {
#related-works ul .item.w1 .thumb {
	position: relative;
	padding: 0 0 149.21053%;
	height: 0
}
#related-works ul .item.w1 .thumb img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%
}
}
@media only screen and (min-width:1025px) {
#related-works ul .item.w1 .thumb {
	position: relative;
	padding: 0 0 149.21053%;
	height: 0
}
#related-works ul .item.w1 .thumb img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%
}
}
#related-works ul .item a {
	display: block;
	text-decoration: none
}
#related-works ul .item figure {
	margin: 0
}
#related-works ul .item figure img {
	width: 100%;
	-webkit-transition: -webkit-filter .3s ease-out, filter .3s ease-out;
	transition: filter .3s ease-out
}
#related-works ul .item figure figcaption {
	font-family: 'Futura Heavy', sans-serif;
	min-height: 50px
}
#related-works ul .item figure figcaption h4 {
	margin-bottom: 0;
	margin-top: 20px;
	color: #000;
	text-transform: uppercase;
	font-size: 1.6rem
}
#related-works ul .item figure figcaption p {
	margin-top: 0;
	color: #aeaeae;
	font-size: 1.4rem;
	font-family: 'DIN', sans-serif
}
.project-navigation {
	position: absolute;
	top: 20px;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden
}
@media only screen and (min-width:681px) and (max-width:1024px) {
.project-navigation {
	top: 40px
}
}
@media only screen and (min-width:1025px) {
.project-navigation {
	top: 55px
}
}
.project-navigation a {
	position: absolute;
	top: 0;
	height: 100%;
	z-index: 1
}
.project-navigation a .link-project-title {
	display: block;
	position: absolute;
	top: 0;
	text-align: center;
	text-transform: uppercase;
	font-size: 1.4rem;
	font-family: 'Futura Heavy', sans-serif;
	color: #000;
	margin: 0;
	letter-spacing: .1em
}
.project-navigation a .link-project-title span {
	color: #aeaeae;
	font-family: 'DIN', sans-serif
}
.project-navigation a svg {
	width: 30px;
	height: 13px;
	fill: #000
}
.project-navigation a.prev-project, .project-navigation a.prev-project .link-project-title {
	left: 0
}
@media only screen and (min-width:1025px) {
.project-navigation a.prev-project {
	width: 55px
}
}
.project-navigation a.next-project, .project-navigation a.next-project .link-project-title {
	right: 0
}
@media only screen and (min-width:1025px) {
.project-navigation a.next-project {
	width: 55px
}
}
.project-navigation-covers {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden
}
.project-navigation-covers .prev-project-cover, .project-navigation-covers .next-project-cover {
	position: absolute;
	top: 0;
	width: 32%;
	height: 100%;
	background-position: center
}
@media only screen and (orientation:portrait) {
.project-navigation-covers .prev-project-cover, .project-navigation-covers .next-project-cover {
	width: 50%
}
}
.project-navigation-covers .prev-project-cover .loader, .project-navigation-covers .next-project-cover .loader {
	width: 100%;
	opacity: 0;
	height: 100%;
	position: absolute;
	bottom: 0;
	background-color: #1f1f1f
}
.project-navigation-covers .prev-project-cover {
	left: 0;
	-webkit-transform: translate(-100%, 0);
	-ms-transform: translate(-100%, 0);
	transform: translate(-100%, 0)
}
.project-navigation-covers .prev-project-cover .loader {
	left: 0
}
.project-navigation-covers .next-project-cover {
	right: 0;
	-webkit-transform: translate(100%, 0);
	-ms-transform: translate(100%, 0);
	transform: translate(100%, 0)
}
.project-navigation-covers .next-project-cover .loader {
	right: 0
}
.share-links {
	position: absolute;
	bottom: 70px;
	right: 20px;
	z-index: 1;
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	transform: translate(0, -50%)
}
@media only screen and (orientation:portrait) {
.share-links {
	right: 5px
}
}
@media only screen and (min-width:681px) and (max-width:1024px) {
.share-links {
	right: 25px
}
}
@media only screen and (min-width:1025px) {
.share-links {
	top: 45%;
	left: 50%;
	bottom: auto;
	right: auto;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	overflow: visible!important
}
}
.share-links li {
	display: inline-block;
	width: 40px;
	height: 40px;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	background-color: #000;
	margin: 5px;
	-webkit-transition: background .3s ease-out;
	transition: background .3s ease-out;
	cursor: pointer
}
@media only screen and (min-width:1025px) {
.share-links li {
	-webkit-transform: translateY(-20px);
	-ms-transform: translateY(-20px);
	transform: translateY(-20px);
	opacity: 0;
	-webkit-animation-name: share-out;
	animation-name: share-out;
	-webkit-animation-duration: .5s;
	animation-duration: .5s;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
	-webkit-animation-timing-function: cubic-bezier(.39, .58, .57, 1);
	animation-timing-function: cubic-bezier(.39, .58, .57, 1)
}
}
@media screen and (min-width:1601px) {
.share-links li {
	width: 60px;
	height: 60px;
	margin: 10px
}
}
.share-links li svg {
	height: 40px;
	width: 40px;
	fill: #fff;
	-webkit-transition: fill .3s ease-out;
	transition: fill .3s ease-out
}
@media screen and (min-width:1601px) {
.share-links li svg {
	width: 60px;
	height: 60px
}
}
.share-links li:hover {
	background-color: #fff
}
.share-links li:hover svg {
	fill: #000
}
@-webkit-keyframes share {
0% {
-webkit-transform:translateY(-40px);
transform:translateY(-40px);
opacity:0
}
100% {
-webkit-transform:translateY(0);
transform:translateY(0);
opacity:1
}
}
@keyframes share {
0% {
-webkit-transform:translateY(-40px);
transform:translateY(-40px);
opacity:0
}
100% {
-webkit-transform:translateY(0);
transform:translateY(0);
opacity:1
}
}
@-webkit-keyframes share-out {
0% {
-webkit-transform:translateY(0);
transform:translateY(0);
opacity:1
}
100% {
-webkit-transform:translateY(-20px);
transform:translateY(-20px);
opacity:0
}
}
@keyframes share-out {
0% {
-webkit-transform:translateY(0);
transform:translateY(0);
opacity:1
}
100% {
-webkit-transform:translateY(-20px);
transform:translateY(-20px);
opacity:0
}
}
.post-type-work {
	background: #1f1f1f
}
@media only screen and (min-width:1025px) {
.post-type-work {
	padding: 55px;
	height: 100vh;
	overflow: hidden
}
}
.post-type-work .wrapper {
	margin: 0 20px;
	position: relative;
	height: 100vh;
	padding: 40px 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box
}
@media only screen and (min-width:681px) and (max-width:1024px) {
.post-type-work .wrapper {
	padding: 40px
}
}
@media only screen and (min-width:1025px) {
.post-type-work .wrapper {
	padding: 0;
	height: 100%;
	margin: 0 45px
}
}
.post-type-work .icon {
	position: absolute;
	width: 60px;
	height: 60px;
	top: 50%;
	margin-top: -30px;
	background: rgba(76,76,76,0);
	-webkit-border-radius: 50%;
	border-radius: 50%;
	-webkit-transition: background .2s ease-in-out;
	transition: background .2s ease-in-out;
	cursor: pointer
}
.post-type-work .icon:hover {
	background: #4c4c4c
}
.post-type-work .prev {
	display: none;
	visibility: hidden;
	z-index: -1
}
@media only screen and (min-width:1025px) {
.post-type-work .prev {
	visibility: visible;
	z-index: 1;
	display: block;
	left: -80px
}
}
.post-type-work .next {
	display: none;
	visibility: hidden;
	z-index: -1
}
@media only screen and (min-width:1025px) {
.post-type-work .next {
	visibility: visible;
	z-index: 1;
	display: block;
	right: -80px
}
}
.post-type-work .icon.close {
	display: none;
	top: 90px;
	right: 10px
}
@media only screen and (min-width:1025px) {
.post-type-work .icon.close {
	top: 30px;
	right: -80px
}
}
.post-type-work .slider-wrapper {
	padding: 0;
	height: 50vh;
	top: 50%;
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	transform: translate(0, -50%);
	position: absolute;
	left: 0;
	width: 100%;
	overflow: hidden;
	margin-top: 30px
}
@media only screen and (min-width:681px) and (max-width:1024px) {
.post-type-work .slider-wrapper {
	height: 60vh;
	-webkit-transform: translate(0, -20%);
	-ms-transform: translate(0, -20%);
	transform: translate(0, -20%)
}
@media only screen and (orientation:portrait) {
.post-type-work .slider-wrapper {
height:50vh;
-webkit-transform:translate(0, -50%);
-ms-transform:translate(0, -50%);
transform:translate(0, -50%)
}
}
}
@media only screen and (min-width:1025px) {
.post-type-work .slider-wrapper {
	top: 0;
	padding: 100px 0;
	-webkit-transform: none;
	-ms-transform: none;
	transform: none;
	height: 100%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box
}
}
.post-type-work .slider-wrapper img {
	width: auto;
	height: auto;
	display: inline-block;
	margin: 0 10px;
	vertical-align: middle
}
@media only screen and (min-width:1025px) {
.post-type-work .slider-wrapper img {
	height: 100%;
	margin-right: 20px
}
}
.post-type-work .slick-slider, .post-type-work .slick-list, .post-type-work .slick-track {
	height: 100%
}
.post-type-work .slick-cloned {
	display: none!important
}
.post-type-work h1 {
	margin: 30px 0 0;
	color: #fff;
	text-transform: uppercase;
	font-family: 'Futura Heavy', sans-serif;
	font-size: 2.6rem;
	padding-right: 80px
}
@media only screen and (min-width:681px) and (max-width:1024px) {
.post-type-work h1 {
	font-size: 3.6rem;
	margin: 50px 0 0
}
}
@media only screen and (min-width:1025px) {
.post-type-work h1 {
	font-size: 3.6rem
}
}
.post-type-work p {
	color: #aeaeae;
	margin: 0;
	font-size: 1.4rem;
	padding-right: 80px
}
svg .outer-ring {
	width: 60px;
	height: 60px;
	fill: #4c4c4c;
	-webkit-transition: color .3s ease;
	transition: color .3s ease
}
svg .arrow, svg .close {
	fill: #fff
}
#post-16 .article-content {
	overflow: hidden;
	position: relative
}
#post-16 .background-grey {
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: -1
}
#post-16 .portrait {
	margin: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	text-align: center;
	width: 100%;
	padding: 20px 20px 40px
}
@media only screen and (min-width:681px) and (max-width:1024px) {
#post-16 .portrait {
	margin: 0;
	width: 50%;
	padding: 60px 30px 60px 60px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	float: left
}
@media only screen and (orientation:portrait) {
#post-16 .portrait {
width:100%;
float:none;
padding:40px 120px 60px
}
}
}
@media only screen and (min-width:1025px) {
#post-16 .portrait {
	margin: 0;
	width: 50%;
	padding: 60px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	float: left
}
}
#post-16 .portrait .wrapper {
	height: 0;
	padding: 0 0 100%;
	position: relative;
	overflow: hidden
}
@media only screen and (orientation:portrait) {
#post-16 .portrait .wrapper {
	padding: 0 0 120%
}
}
@media only screen and (min-width:681px) and (max-width:1024px) {
#post-16 .portrait .wrapper {
	padding: 0;
	position: static;
	height: 100%;
	overflow: hidden
}
@media only screen and (orientation:portrait) {
#post-16 .portrait .wrapper {
height:0;
padding:0 0 130%;
position:relative
}
}
}
@media only screen and (min-width:1025px) {
#post-16 .portrait .wrapper {
	padding: 0;
	position: static;
	height: 100%;
	overflow: hidden
}
}
#post-16 .portrait img {
	position: absolute;
	top: 0;
	left: 15%;
	width: 70%
}
@media only screen and (orientation:portrait) {
#post-16 .portrait img {
	left: 0;
	width: 100%
}
}
@media only screen and (min-width:681px) and (max-width:1024px) {
#post-16 .portrait img {
	position: static;
	width: 100%
}
@media only screen and (orientation:portrait) {
#post-16 .portrait img {
position:absolute
}
}
}
@media only screen and (min-width:1025px) {
#post-16 .portrait img {
	position: static;
	width: 90%
}
}
#post-16 .article-body {
	margin: 40px 20px
}
@media only screen and (orientation:portrait) {
#post-16 .article-body {
	margin: 0 20px 40px
}
}
@media only screen and (min-width:681px) and (max-width:1024px) {
#post-16 .article-body {
	margin: 0;
	width: 50%;
	padding: 60px 60px 60px 30px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	float: right
}
@media only screen and (orientation:portrait) {
#post-16 .article-body {
padding:0 40px 20px;
width:100%;
float:none
}
}
}
@media only screen and (min-width:1025px) {
#post-16 .article-body {
	margin: 0;
	width: 50%;
	padding: 60px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	float: right
}
}
#post-16 .article-h1 {
	color: #fff;
	text-transform: uppercase;
	font-family: 'Futura Heavy', sans-serif;
	line-height: 1.3;
	font-size: 2rem;
	margin: 0 0 20px;
	letter-spacing: .1em
}
@media only screen and (min-width:681px) and (max-width:1024px) {
#post-16 .article-h1 {
	font-size: 2.4rem
}
}
@media only screen and (min-width:1025px) {
#post-16 .article-h1 {
	font-size: 2.4rem
}
}
#post-16 .article-h1 span {
	color: #636363
}
#post-16 .column {
	font-family: 'Merriweather', serif;
	font-size: 1.3rem;
	color: #636363
}
@media only screen and (min-width:1025px) {
#post-16 .column {
	float: left;
	width: 50%;
	padding: 0 0 0 20px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box
}
}
@media screen and (min-width:1601px) {
#post-16 .column {
	font-size: 1.4rem
}
}
#post-16 .column p {
	overflow: hidden
}
#post-16 .column img {
	margin-top: 40px;
	float: right
}
@media only screen and (min-width:681px) and (max-width:1024px) {
#post-16 .column img {
	float: none
}
@media only screen and (orientation:portrait) {
#post-16 .column img {
float:right
}
}
}
@media only screen and (min-width:1025px) {
#post-16 .column img {
	float: none
}
}
@media only screen and (min-width:1025px) {
#post-16 .column:first-of-type {
	width: 50%;
	padding: 0 20px 0 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box
}
}
#post-9 h1 {
	text-align: center;
	border: 4px solid;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	margin: 0 auto;
	position: relative;
	font-size: 2.4rem;
	width: 100px;
	height: 100px;
	line-height: 100px;
	top: 20px
}
@media only screen and (min-width:1025px) {
#post-9 h1 {
	font-size: 5.6rem;
	width: 250px;
	height: 250px;
	line-height: 250px;
	top: 70px
}
}
#post-9 h1 .prefix, #post-9 h1 .suffix {
	display: inline-block;
	line-height: 1
}
#post-9 h1 .prefix {
	-webkit-transform: translate(20%, -50%);
	-ms-transform: translate(20%, -50%);
	transform: translate(20%, -50%)
}
#post-9 h1 .suffix {
	-webkit-transform: translate(-20%, 50%);
	-ms-transform: translate(-20%, 50%);
	transform: translate(-20%, 50%)
}
#post-9 section {
	overflow: hidden
}
#post-9 ul {
	margin: 0;
	padding: 0;
	list-style-type: none
}
#post-9 ul li {
	position: relative
}
#post-9 ul li:after {
	content: '';
	display: block;
	height: 140px;
	width: 3px;
	background: #c9c9c9;
	margin: 20px auto
}
@media only screen and (min-width:1025px) {
#post-9 ul li:after {
	height: 240px
}
}
#post-9 ul li:last-child {
	margin-bottom: 100px
}
#post-9 ul li:last-child:after {
	display: none
}
#post-9 ul img {
	position: absolute;
	bottom: 20px
}
#post-9 ul .mask {
	position: absolute;
	left: 0;
	top: 0;
	overflow: hidden;
	height: 0;
	z-index: 2;
	width: 100%;
	font-family: 'Futura Heavy', sans-serif;
	text-align: center;
	text-transform: uppercase;
	font-weight: 700;
	display: block;
	color: #3BD885;
	font-size: 2rem;
	letter-spacing: .2em
}
@media only screen and (min-width:681px) and (max-width:1024px) {
#post-9 ul .mask {
	font-size: 3rem
}
}
@media only screen and (min-width:1025px) {
#post-9 ul .mask {
	font-size: 6rem
}
}
#post-9 ul h2 {
	width: 80%;
	margin: 0 auto;
	font-family: 'Futura Heavy', sans-serif;
	position: relative;
	z-index: 1;
	text-align: center;
	text-transform: uppercase;
	color: #fff;
	font-size: 2rem;
	letter-spacing: .2em
}
#post-9 ul h2 a {
	color: #fff;
	text-decoration: none
}
@media only screen and (min-width:681px) and (max-width:1024px) {
#post-9 ul h2 {
	font-size: 3rem
}
}
@media only screen and (min-width:1025px) {
#post-9 ul h2 {
	font-size: 6rem
}
}
#post-12 .page-body {
	padding: 20px 0 40px
}
#post-12 h1 {
	text-transform: uppercase;
	margin: 0;
	color: #000
}
#post-12 .holes-in-text-form {
	display: none
}
@media only screen and (min-width:681px) and (max-width:1024px) {
#post-12 .holes-in-text-form {
	display: block
}
@media only screen and (orientation:portrait) {
#post-12 .holes-in-text-form {
display:none
}
}
}
@media only screen and (min-width:1025px) {
#post-12 .holes-in-text-form {
	display: block
}
}
#post-12 .wpcf7-form {
	width: 80%;
	margin: 0 auto
}
@media only screen and (min-width:681px) and (max-width:1024px) {
#post-12 .wpcf7-form .hidden-form {
	display: none
}
@media only screen and (orientation:portrait) {
#post-12 .wpcf7-form .hidden-form {
display:block
}
}
}
@media only screen and (min-width:1025px) {
#post-12 .wpcf7-form .hidden-form {
	display: none
}
}
#post-12 .wpcf7-form .hidden-form>p {
	margin-top: 1em
}
@media only screen and (min-width:681px) and (max-width:1024px) {
#post-12 .wpcf7-form {
	font-size: 2.8rem;
	text-align: center;
	position: absolute;
	width: 80%;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%)
}
@media only screen and (orientation:portrait) {
#post-12 .wpcf7-form {
text-align:left
}
}
}
@media only screen and (min-width:1025px) {
#post-12 .wpcf7-form {
	font-size: 2.8rem;
	text-align: center;
	position: absolute;
	width: 80%;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%)
}
}
#post-12 .wpcf7-form .extendable-input-container {
	position: relative
}
#post-12 .wpcf7-form .extendable-input-container.full .border-bottom {
	opacity: 0
}
#post-12 .wpcf7-form .border-bottom {
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	height: 2px;
	width: 100%;
	background: silver;
	opacity: 1;
	-webkit-transition: opacity .3s ease-out;
	transition: opacity .3s ease-out
}
#post-12 .wpcf7-form .extendable-input {
	min-width: 150px;
	display: inline-block;
	text-align: left;
	color: white;
	position: relative;
	-webkit-transition: color .3s ease-out;
	transition: color .3s ease-out
}
#post-12 .wpcf7-form .extendable-input:hover, #post-12 .wpcf7-form .extendable-input:focus {
	color: #636363;
	outline: 0
}
#post-12 .wpcf7-form p {
	text-transform: uppercase;
	color: #f0f0f0;
	font-weight: 600;
	line-height: 1.4;
	display: block;
	margin: 0
}
#post-12 .wpcf7-form .wpcf7-text {
	width: 100%;
	background-color: transparent;
	border: 2px solid silver;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-border-radius: 0;
	border-radius: 0;
	-webkit-appearance: none
}
#post-12 .wpcf7-form .message {
	position: relative
}
@media only screen and (min-width:681px) and (max-width:1024px) {
#post-12 .wpcf7-form .message {
	width: 700px;
	margin: 40px auto
}
@media only screen and (orientation:portrait) {
#post-12 .wpcf7-form .message {
width:auto;
margin:0
}
}
}
@media only screen and (min-width:1025px) {
#post-12 .wpcf7-form .message {
	width: 700px;
	margin: 40px auto
}
}
#post-12 .wpcf7-form .message .border-bottom {
	display: none;
	z-index: -1
}
@media only screen and (min-width:681px) and (max-width:1024px) {
#post-12 .wpcf7-form .message .border-bottom {
	display: block
}
@media only screen and (orientation:portrait) {
#post-12 .wpcf7-form .message .border-bottom {
display:none
}
}
}
@media only screen and (min-width:1025px) {
#post-12 .wpcf7-form .message .border-bottom {
	display: block
}
}
#post-12 .wpcf7-form .message .border-bottom:nth-child(1) {
	top: 34px
}
#post-12 .wpcf7-form .message .border-bottom:nth-child(2) {
	top: 73px
}
#post-12 .wpcf7-form .message .border-bottom:nth-child(3) {
	top: 112px
}
#post-12 .wpcf7-form .message textarea {
	width: 100%;
	background-color: transparent;
	border: 2px solid silver;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-border-radius: 0;
	border-radius: 0;
	-webkit-appearance: none
}
#post-12 .wpcf7-form .message textarea:focus {
	outline: 0
}
@media only screen and (min-width:681px) and (max-width:1024px) {
#post-12 .wpcf7-form .message textarea {
	border: 0;
	resize: none
}
@media only screen and (orientation:portrait) {
#post-12 .wpcf7-form .message textarea {
border:3px solid silver;
resize:auto
}
}
}
@media only screen and (min-width:1025px) {
#post-12 .wpcf7-form .message textarea {
	background-color: transparent;
	border: 0;
	resize: none
}
}
#post-12 .wpcf7-form .submit-wrapper {
	text-align: center
}
#post-12 .wpcf7-form .wpcf7-submit {
	background: #000;
	color: #fff;
	text-transform: uppercase;
	border: 0;
	padding: 10px 60px;
	font-size: 2rem;
	line-height: 1;
	margin-top: 1em;
	-webkit-border-radius: 0;
	border-radius: 0
}
@media only screen and (min-width:681px) and (max-width:1024px) {
#post-12 .wpcf7-form .wpcf7-submit {
	margin: 0
}
@media only screen and (orientation:portrait) {
#post-12 .wpcf7-form .wpcf7-submit {
margin-top:1em
}
}
}
@media only screen and (min-width:1025px) {
#post-12 .wpcf7-form .wpcf7-submit {
	margin: 0
}
}
#post-12 .wpcf7-form .wpcf7-response-output {
	font-size: 1.4rem;
	text-transform: uppercase;
	border: 0!important
}
