diff --git a/apps/common/mobile/resources/less/ios/_collaboration.less b/apps/common/mobile/resources/less/ios/_collaboration.less index 5ccf0840d..ff87fb8b9 100644 --- a/apps/common/mobile/resources/less/ios/_collaboration.less +++ b/apps/common/mobile/resources/less/ios/_collaboration.less @@ -4,6 +4,8 @@ padding-top: 15px; padding-bottom: 15px; margin: 0; + max-width: 100%; + word-wrap: break-word; } #user-name { font-size: 17px; @@ -21,11 +23,11 @@ #text-change { color: #000000; font-size: 15px; - line-height: 18px; + line-height: 20px; margin: 0; margin-top: 10px; } - .block-btn { + .block-btn, .content-block.block-btn:first-child { display: flex; flex-direction: row; justify-content: space-around; @@ -34,16 +36,14 @@ #btn-next-change, #btn-reject-change { margin-left: 20px; } - + #btn-goto-change { + margin-right: 20px; + } + .right-buttons { + display: flex; + } .link { - height: 48px; - width: 48px; display: inline-block; - .icon { - background-position: center; - height: 48px; - width: 48px; - } } } } @@ -56,4 +56,7 @@ position: absolute; right: 10px; } + .page-content .list-block:first-child { + margin-top: -1px; + } } \ No newline at end of file diff --git a/apps/common/mobile/resources/less/ios/_container.less b/apps/common/mobile/resources/less/ios/_container.less index a51aa98e8..b1ee6930d 100644 --- a/apps/common/mobile/resources/less/ios/_container.less +++ b/apps/common/mobile/resources/less/ios/_container.less @@ -1,6 +1,7 @@ // Container .phone.ios { - .container-edit { + .container-edit, + .container-collaboration { .navbar { .hairline(top, @toolbarBorderColor); } @@ -15,7 +16,8 @@ .container-edit, .container-add, -.container-settings { +.container-settings, +.container-collaboration { &.popover { width: 360px; } diff --git a/apps/common/mobile/resources/less/material/_collaboration.less b/apps/common/mobile/resources/less/material/_collaboration.less index 3b3132690..ba21a8794 100644 --- a/apps/common/mobile/resources/less/material/_collaboration.less +++ b/apps/common/mobile/resources/less/material/_collaboration.less @@ -4,6 +4,8 @@ padding-top: 15px; padding-bottom: 15px; margin: 0; + max-width: 100%; + word-wrap: break-word; } #user-name { font-size: 17px; @@ -21,7 +23,7 @@ #text-change { color: #000000; font-size: 15px; - line-height: 18px; + line-height: 20px; margin: 0; margin-top: 10px; } @@ -36,24 +38,23 @@ #btn-next-change, #btn-reject-change { margin-left: 20px; } - + #btn-goto-change { + margin-right: 20px; + } + .right-buttons { + display: flex; + } .link { display: inline-block; - - .icon { - background-position: center; - height: 48px; - width: 48px; - } } } } -.navbar .center-collaboration { - text-align: center; -} .container-collaboration { .navbar .right.close-collaboration { position: absolute; right: 5px; } + .page-content .list-block:first-child { + margin-top: -1px; + } } \ No newline at end of file diff --git a/apps/common/mobile/resources/less/material/_container.less b/apps/common/mobile/resources/less/material/_container.less index 8caf0af92..fb8d61dbc 100644 --- a/apps/common/mobile/resources/less/material/_container.less +++ b/apps/common/mobile/resources/less/material/_container.less @@ -1,7 +1,8 @@ // Container .phone.android { - .container-edit { + .container-edit, + .container-collaboration { .page-content { .list-block:first-child { @@ -13,7 +14,8 @@ .container-edit, .container-add, -.container-settings { +.container-settings, +.container-collaboration { &.popover { width: 360px; } diff --git a/apps/documenteditor/mobile/app/controller/Collaboration.js b/apps/documenteditor/mobile/app/controller/Collaboration.js index c5ce3c2bb..cbc18da07 100644 --- a/apps/documenteditor/mobile/app/controller/Collaboration.js +++ b/apps/documenteditor/mobile/app/controller/Collaboration.js @@ -56,7 +56,9 @@ define([ displayMode = "Markup", arrChangeReview = [], dateChange = [], - _fileKey; + _fileKey, + _userId, + editUsers = []; return { models: [], @@ -77,6 +79,8 @@ define([ setApi: function(api) { this.api = api; this.api.asc_registerCallback('asc_onShowRevisionsChange', _.bind(this.changeReview, this)); + this.api.asc_registerCallback('asc_onAuthParticipantsChanged', _.bind(this.onChangeEditUsers, this)); + this.api.asc_registerCallback('asc_onParticipantsChanged', _.bind(this.onChangeEditUsers, this)); }, onLaunch: function () { @@ -86,6 +90,7 @@ define([ setMode: function(mode) { this.appConfig = mode; _fileKey = mode.fileKey; + _userId = mode.user.id; return this; }, @@ -165,6 +170,9 @@ define([ } else if('#change-view' == pageId) { me.initChange(); Common.Utils.addScrollIfNeed('.page[data-page=change-view]', '.page[data-page=change-view] .page-content'); + } else if('#edit-users-view' == pageId) { + me.initEditUsers(); + Common.Utils.addScrollIfNeed('.page[data-page=edit-users-view]', '.page[data-page=edit-users-view] .page-content'); } else { if(!this.appConfig.canReview) { $('#reviewing-settings').hide(); @@ -251,6 +259,7 @@ define([ initChange: function() { + var goto = false; if(arrChangeReview.length == 0) { this.api.asc_GetNextRevisionsChange(); } @@ -260,16 +269,26 @@ define([ $('#current-change #date-change').html(arrChangeReview[0].date); $('#current-change #user-name').html(arrChangeReview[0].user); $('#current-change #text-change').html(arrChangeReview[0].changetext); + goto = arrChangeReview[0].goto; + } + if (goto) { + $('#btn-goto-change').show(); + } else { + $('#btn-goto-change').hide(); } $('#btn-prev-change').single('click', _.bind(this.onPrevChange, this)); $('#btn-next-change').single('click', _.bind(this.onNextChange, this)); $('#btn-accept-change').single('click', _.bind(this.onAcceptCurrentChange, this)); $('#btn-reject-change').single('click', _.bind(this.onRejectCurrentChange, this)); + $('#btn-goto-change').single('click', _.bind(this.onGotoNextChange, this)); + if(this.appConfig.isReviewOnly) { $('#btn-accept-change').remove(); $('#btn-reject-change').remove(); - $('.accept-reject').html('
'); - $('#btn-delete-change').single('click', _.bind(this.onDeleteChange, this)); + if(arrChangeReview.length != 0 && arrChangeReview[0].editable) { + $('.accept-reject').html('
'); + $('#btn-delete-change').single('click', _.bind(this.onDeleteChange, this)); + } } if(displayMode == "Final" || displayMode == "Original") { $('#btn-accept-change').addClass('disabled'); @@ -277,7 +296,6 @@ define([ $('#btn-prev-change').addClass('disabled'); $('#btn-next-change').addClass('disabled'); } - }, onPrevChange: function() { @@ -289,17 +307,23 @@ define([ }, onAcceptCurrentChange: function() { + var me = this; if (this.api) { this.api.asc_AcceptChanges(dateChange[0]); + setTimeout(function () { + me.api.asc_GetNextRevisionsChange(); + }, 10); } - this.api.asc_GetNextRevisionsChange(); }, onRejectCurrentChange: function() { + var me = this; if (this.api) { this.api.asc_RejectChanges(dateChange[0]); + setTimeout(function () { + me.api.asc_GetNextRevisionsChange(); + }, 10); } - this.api.asc_GetNextRevisionsChange(); }, updateInfoChange: function() { @@ -308,9 +332,11 @@ define([ $('#current-change #date-change').empty(); $('#current-change #user-name').empty(); $('#current-change #text-change').empty(); - $('#current-change').css('display', 'none'); + $('#current-change').hide(); + $('#btn-goto-change').hide(); + $('#btn-delete-change').hide(); } else { - $('#current-change').css('display', 'block'); + $('#current-change').show(); this.initChange(); } } @@ -322,10 +348,11 @@ define([ _.each(data, function (item) { var changetext = '', proptext = '', value = item.get_Value(), + movetype = item.get_MoveType(), settings = false; switch (item.get_Type()) { case Asc.c_oAscRevisionsChangeType.TextAdd: - changetext = me.textInserted; + changetext = (movetype==Asc.c_oAscRevisionsMove.NoMove) ? me.textInserted : me.textParaMoveTo; if (typeof value == 'object') { _.each(value, function (obj) { if (typeof obj === 'string') @@ -352,7 +379,7 @@ define([ } break; case Asc.c_oAscRevisionsChangeType.TextRem: - changetext = me.textDeleted; + changetext = (movetype==Asc.c_oAscRevisionsMove.NoMove) ? me.textDeleted : (item.is_MovedDown() ? me.textParaMoveFromDown : me.textParaMoveFromUp); if (typeof value == 'object') { _.each(value, function (obj) { if (typeof obj === 'string') @@ -490,14 +517,25 @@ define([ changetext += ''; changetext += proptext; break; + case Asc.c_oAscRevisionsChangeType.TablePr: + changetext = me.textTableChanged; + break; + case Asc.c_oAscRevisionsChangeType.RowsAdd: + changetext = me.textTableRowsAdd; + break; + case Asc.c_oAscRevisionsChangeType.RowsRem: + changetext = me.textTableRowsDel; + break; } var date = (item.get_DateTime() == '') ? new Date() : new Date(item.get_DateTime()), - user = item.get_UserName(); + user = item.get_UserName(), + goto = (item.get_MoveType() == Asc.c_oAscRevisionsMove.MoveTo || item.get_MoveType() == Asc.c_oAscRevisionsMove.MoveFrom); date = me.dateToLocaleTimeString(date); + var editable = (item.get_UserId() == _userId); - arr.push({date: date, user: user, changetext: changetext}); + arr.push({date: date, user: user, changetext: changetext, goto: goto, editable: editable}); }); arrChangeReview = arr; dateChange = data; @@ -533,6 +571,61 @@ define([ } }, + onGotoNextChange: function() { + if (this.api) { + this.api.asc_FollowRevisionMove(dateChange[0]); + } + }, + + onChangeEditUsers: function(users) { + editUsers = users; + }, + + initEditUsers: function() { + var usersArray = []; + _.each(editUsers, function(item){ + var fio = item.asc_getUserName().split(' '); + var initials = fio[0].substring(0, 1).toUpperCase(); + if (fio.length > 1) { + initials += fio[fio.length - 1].substring(0, 1).toUpperCase(); + } + if(!item.asc_getView()) { + var userAttr = { + color: item.asc_getColor(), + id: item.asc_getId(), + idOriginal: item.asc_getIdOriginal(), + name: item.asc_getUserName(), + view: item.asc_getView(), + initial: initials + }; + if(item.asc_getIdOriginal() == _userId) { + usersArray.unshift(userAttr); + } else { + usersArray.push(userAttr); + } + } + }); + var userSort = _.chain(usersArray).groupBy('idOriginal').value(); + var templateUserItem = _.template([ + '<% _.each(users, function (user) { %>', + '
  • ' + + '
    ' + + '
    <%= user[0].initial %>
    '+ + '' + + '<% if (user.length>1) { %><% } %>' + + '
    '+ + '
  • ', + '<% }); %>'].join('')); + var templateUserList = _.template( + '
    ' + + this.textEditUser + + '
    ' + + ''); + $('#user-list').html(templateUserList()); + }, + @@ -587,7 +680,14 @@ define([ textEquation: 'Equation', textImage: 'Image', textChart: 'Chart', - textShape: 'Shape' + textShape: 'Shape', + textTableChanged: 'Table Settings Changed', + textTableRowsAdd: 'Table Rows Added', + textTableRowsDel: 'Table Rows Deleted', + textParaMoveTo: 'Moved:', + textParaMoveFromUp: 'Moved Up:', + textParaMoveFromDown: 'Moved Down:', + textEditUser: 'Document is currently being edited by several users.' } })(), DE.Controllers.Collaboration || {})) diff --git a/apps/documenteditor/mobile/app/controller/DocumentHolder.js b/apps/documenteditor/mobile/app/controller/DocumentHolder.js index 2e126ea84..cc5a81647 100644 --- a/apps/documenteditor/mobile/app/controller/DocumentHolder.js +++ b/apps/documenteditor/mobile/app/controller/DocumentHolder.js @@ -58,7 +58,7 @@ define([ _fastCoAuthTips = [], _actionSheets = [], _isEdit = false, - _canAcceptChanges = false, + _canReview = false, _inRevisionChange = false, _menuPos = [], _timer = 0; @@ -100,7 +100,7 @@ define([ setMode: function (mode) { _isEdit = mode.isEdit; - _canAcceptChanges = mode.canReview && !mode.isReviewOnly; + _canReview = mode.canReview; }, // When our application is ready, lets get started @@ -152,6 +152,11 @@ define([ var getCollaboration = DE.getController('Collaboration'); getCollaboration.showModal(); getCollaboration.getView('Collaboration').showPage('#reviewing-settings-view', false); + } else if('reviewchange' == eventName) { + var getCollaboration = DE.getController('Collaboration'); + getCollaboration.showModal(); + getCollaboration.getView('Collaboration').showPage('#reviewing-settings-view', false); + getCollaboration.getView('Collaboration').showPage('#change-view', false); } else if ('showActionSheet' == eventName && _actionSheets.length > 0) { _.delay(function () { _.each(_actionSheets, function (action) { @@ -491,11 +496,18 @@ define([ }); } - if (_canAcceptChanges && _inRevisionChange) { - menuItems.push({ - caption: me.menuReview, - event: 'review' - }); + if (_canReview) { + if (_inRevisionChange) { + menuItems.push({ + caption: me.menuReviewChange, + event: 'reviewchange' + }); + } else { + menuItems.push({ + caption: me.menuReview, + event: 'review' + }); + } } } } @@ -540,7 +552,8 @@ define([ menuReview: 'Review', menuMerge: 'Merge Cells', menuSplit: 'Split Cell', - menuDeleteTable: 'Delete Table' + menuDeleteTable: 'Delete Table', + menuReviewChange: 'Review Change' } })(), DE.Controllers.DocumentHolder || {})) }); \ No newline at end of file diff --git a/apps/documenteditor/mobile/app/controller/Main.js b/apps/documenteditor/mobile/app/controller/Main.js index 8e7d4837d..deed7d300 100644 --- a/apps/documenteditor/mobile/app/controller/Main.js +++ b/apps/documenteditor/mobile/app/controller/Main.js @@ -761,6 +761,8 @@ define([ if (me.api) { me.api.asc_registerCallback('asc_onSendThemeColors', _.bind(me.onSendThemeColors, me)); me.api.asc_registerCallback('asc_onDownloadUrl', _.bind(me.onDownloadUrl, me)); + me.api.asc_registerCallback('asc_onAuthParticipantsChanged', _.bind(me.onAuthParticipantsChanged, me)); + me.api.asc_registerCallback('asc_onParticipantsChanged', _.bind(me.onAuthParticipantsChanged, me)); } }, @@ -778,8 +780,6 @@ define([ /** coauthoring begin **/ me.api.asc_registerCallback('asc_onCollaborativeChanges', _.bind(me.onCollaborativeChanges, me)); me.api.asc_registerCallback('asc_OnTryUndoInFastCollaborative',_.bind(me.onTryUndoInFastCollaborative, me)); - me.api.asc_registerCallback('asc_onAuthParticipantsChanged', _.bind(me.onAuthParticipantsChanged, me)); - me.api.asc_registerCallback('asc_onParticipantsChanged', _.bind(me.onAuthParticipantsChanged, me)); /** coauthoring end **/ if (me.stackLongActions.exist({id: ApplyEditRights, type: Asc.c_oAscAsyncActionType['BlockInteraction']})) { @@ -795,6 +795,10 @@ define([ } }, + returnUserCount: function() { + return this._state.usersCount; + }, + onExternalMessage: function(msg) { if (msg && msg.msg) { msg.msg = (msg.msg).toString(); diff --git a/apps/documenteditor/mobile/app/controller/Settings.js b/apps/documenteditor/mobile/app/controller/Settings.js index c9dce5c1d..be2f7dcc9 100644 --- a/apps/documenteditor/mobile/app/controller/Settings.js +++ b/apps/documenteditor/mobile/app/controller/Settings.js @@ -253,8 +253,9 @@ define([ if(_stateDisplayMode == "Final" || _stateDisplayMode == "Original") { $('#settings-document').addClass('disabled'); } - if(!_canReview) { - $('#settings-collaboration').hide(); + var _userCount = DE.getController('Main').returnUserCount(); + if (_userCount > 0) { + $('#settings-collaboration').show(); } } }, diff --git a/apps/documenteditor/mobile/app/controller/Toolbar.js b/apps/documenteditor/mobile/app/controller/Toolbar.js index 1bbb6344a..1c32ee6c4 100644 --- a/apps/documenteditor/mobile/app/controller/Toolbar.js +++ b/apps/documenteditor/mobile/app/controller/Toolbar.js @@ -81,6 +81,8 @@ define([ this.api.asc_registerCallback('asc_onCanRedo', _.bind(this.onApiCanRevert, this, 'redo')); this.api.asc_registerCallback('asc_onFocusObject', _.bind(this.onApiFocusObject, this)); this.api.asc_registerCallback('asc_onCoAuthoringDisconnect', _.bind(this.onCoAuthoringDisconnect, this)); + this.api.asc_registerCallback('asc_onAuthParticipantsChanged', _.bind(this.displayCollaboration, this)) + this.api.asc_registerCallback('asc_onParticipantsChanged', _.bind(this.displayCollaboration, this)); Common.NotificationCenter.on('api:disconnect', _.bind(this.onCoAuthoringDisconnect, this)); }, @@ -171,11 +173,11 @@ define([ }, activateControls: function() { - $('#toolbar-edit, #toolbar-add, #toolbar-settings, #toolbar-search, #document-back, #toolbar-edit-document').removeClass('disabled'); + $('#toolbar-edit, #toolbar-add, #toolbar-settings, #toolbar-search, #document-back, #toolbar-edit-document, #toolbar-collaboration').removeClass('disabled'); }, activateViewControls: function() { - $('#toolbar-search, #document-back').removeClass('disabled'); + $('#toolbar-search, #document-back, #toolbar-collaboration').removeClass('disabled'); }, deactivateEditControls: function() { @@ -192,6 +194,21 @@ define([ DE.getController('Settings').hideModal(); }, + displayCollaboration: function(users) { + if(users !== undefined) { + var length = 0; + _.each(users, function (item) { + if (!item.asc_getView()) + length++; + }); + if (length > 0) { + $('#toolbar-collaboration').show(); + } else { + $('#toolbar-collaboration').hide(); + } + } + }, + dlgLeaveTitleText : 'You leave the application', dlgLeaveMsgText : 'You have unsaved changes in this document. Click \'Stay on this Page\' to await the autosave of the document. Click \'Leave this Page\' to discard all the unsaved changes.', leaveButtonText : 'Leave this Page', diff --git a/apps/documenteditor/mobile/app/template/Collaboration.template b/apps/documenteditor/mobile/app/template/Collaboration.template index 532c869b4..8555c942b 100644 --- a/apps/documenteditor/mobile/app/template/Collaboration.template +++ b/apps/documenteditor/mobile/app/template/Collaboration.template @@ -2,7 +2,7 @@
    @@ -11,12 +11,18 @@
    <%= scope.textFormat %>
    -
    + -
    +
    • diff --git a/apps/documenteditor/mobile/app/template/Toolbar.template b/apps/documenteditor/mobile/app/template/Toolbar.template index dcb188e8c..345205710 100644 --- a/apps/documenteditor/mobile/app/template/Toolbar.template +++ b/apps/documenteditor/mobile/app/template/Toolbar.template @@ -20,11 +20,6 @@
      <% } %>
      - <% if (!phone) { %> - - <% } %> <% if (android) { %> <% } %> + <% if (!phone) { %> + + <% } %> diff --git a/apps/documenteditor/mobile/app/view/Collaboration.js b/apps/documenteditor/mobile/app/view/Collaboration.js index ed19a7e40..22b8db64a 100644 --- a/apps/documenteditor/mobile/app/view/Collaboration.js +++ b/apps/documenteditor/mobile/app/view/Collaboration.js @@ -151,7 +151,8 @@ define([ textMarkup: 'Markup', textFinal: 'Final', textOriginal: 'Original', - textChange: 'Change' + textChange: 'Review Change', + textEditUsers: 'Users' } })(), DE.Views.Collaboration || {})) diff --git a/apps/documenteditor/mobile/app/view/Toolbar.js b/apps/documenteditor/mobile/app/view/Toolbar.js index 02772ee30..4738c92c5 100644 --- a/apps/documenteditor/mobile/app/view/Toolbar.js +++ b/apps/documenteditor/mobile/app/view/Toolbar.js @@ -101,7 +101,7 @@ define([ setMode: function (mode) { if (mode.isEdit) { - $('#toolbar-edit, #toolbar-add, #toolbar-undo, #toolbar-redo, #toolbar-collaboration').show(); + $('#toolbar-edit, #toolbar-add, #toolbar-undo, #toolbar-redo').show(); } else if (mode.canEdit && mode.canRequestEditRights){ $('#toolbar-edit-document').show(); } diff --git a/apps/documenteditor/mobile/locale/en.json b/apps/documenteditor/mobile/locale/en.json index 86347bc08..adc775d36 100644 --- a/apps/documenteditor/mobile/locale/en.json +++ b/apps/documenteditor/mobile/locale/en.json @@ -31,6 +31,7 @@ "DE.Controllers.DocumentHolder.textColumns": "Columns", "DE.Controllers.DocumentHolder.textRows": "Rows", "DE.Controllers.DocumentHolder.menuDeleteTable": "Delete Table", + "DE.Controllers.DocumentHolder.menuReviewChange": "Review Change", "DE.Controllers.EditContainer.textChart": "Chart", "DE.Controllers.EditContainer.textFooter": "Footer", "DE.Controllers.EditContainer.textHeader": "Header", @@ -204,7 +205,7 @@ "DE.Controllers.Collaboration.textSmallCaps": "Small caps", "DE.Controllers.Collaboration.textPosition": "Position", "DE.Controllers.Collaboration.textShd": "Background color", - "DE.Controllers.Collaboration.textContextual": "Don\'t add interval between paragraphs of the same style", + "DE.Controllers.Collaboration.textContextual": "Don't add interval between paragraphs of the same style", "DE.Controllers.Collaboration.textNoContextual": "Add interval between paragraphs of the same style", "DE.Controllers.Collaboration.textIndentLeft": "Indent left", "DE.Controllers.Collaboration.textIndentRight": "Indent right", @@ -217,8 +218,8 @@ "DE.Controllers.Collaboration.textKeepNext": "Keep with next", "DE.Controllers.Collaboration.textKeepLines": "Keep lines together", "DE.Controllers.Collaboration.textNoBreakBefore": "No page break before", - "DE.Controllers.Collaboration.textNoKeepNext": "Don\'t keep with next", - "DE.Controllers.Collaboration.textNoKeepLines": "Don\'t keep lines together", + "DE.Controllers.Collaboration.textNoKeepNext": "Don't keep with next", + "DE.Controllers.Collaboration.textNoKeepLines": "Don't keep lines together", "DE.Controllers.Collaboration.textLineSpacing": "Line Spacing: ", "DE.Controllers.Collaboration.textMultiple": "multiple", "DE.Controllers.Collaboration.textAtLeast": "at least", @@ -234,6 +235,13 @@ "DE.Controllers.Collaboration.textImage": "Image", "DE.Controllers.Collaboration.textChart": "Chart", "DE.Controllers.Collaboration.textShape": "Shape", + "DE.Controllers.Collaboration.textTableChanged": "Table Settings Changed", + "DE.Controllers.Collaboration.textTableRowsAdd": "Table Rows Added", + "DE.Controllers.Collaboration.textTableRowsDel": "Table Rows Deleted", + "DE.Controllers.Collaboration.textParaMoveTo": "Moved:", + "DE.Controllers.Collaboration.textParaMoveFromUp": "Moved Up:", + "DE.Controllers.Collaboration.textParaMoveFromDown": "Moved Down:", + "DE.Controllers.Collaboration.textEditUser": "Document is currently being edited by several users.", "DE.Views.AddImage.textAddress": "Address", "DE.Views.AddImage.textBack": "Back", "DE.Views.AddImage.textFromLibrary": "Picture from Library", @@ -489,5 +497,6 @@ "DE.Views.Collaboration.textMarkup": "Markup", "DE.Views.Collaboration.textFinal": "Final", "DE.Views.Collaboration.textOriginal": "Original", - "DE.Views.Collaboration.textChange": "Change" + "DE.Views.Collaboration.textChange": "Review Change", + "DE.Views.Collaboration.textEditUsers": "Users" } \ No newline at end of file diff --git a/apps/documenteditor/mobile/resources/css/app-ios.css b/apps/documenteditor/mobile/resources/css/app-ios.css index 7a285d328..df5553571 100644 --- a/apps/documenteditor/mobile/resources/css/app-ios.css +++ b/apps/documenteditor/mobile/resources/css/app-ios.css @@ -5844,7 +5844,8 @@ html:not(.phone) #editor-navbar.navbar .right a + a, html:not(.phone) #editor-navbar.navbar .left a + a { margin-left: 10px; } -.phone.ios .container-edit .navbar:before { +.phone.ios .container-edit .navbar:before, +.phone.ios .container-collaboration .navbar:before { content: ''; position: absolute; left: 0; @@ -5859,20 +5860,24 @@ html:not(.phone) #editor-navbar.navbar .left a + a { -webkit-transform-origin: 50% 0%; transform-origin: 50% 0%; } -html.pixel-ratio-2 .phone.ios .container-edit .navbar:before { +html.pixel-ratio-2 .phone.ios .container-edit .navbar:before, +html.pixel-ratio-2 .phone.ios .container-collaboration .navbar:before { -webkit-transform: scaleY(0.5); transform: scaleY(0.5); } -html.pixel-ratio-3 .phone.ios .container-edit .navbar:before { +html.pixel-ratio-3 .phone.ios .container-edit .navbar:before, +html.pixel-ratio-3 .phone.ios .container-collaboration .navbar:before { -webkit-transform: scaleY(0.33); transform: scaleY(0.33); } -.phone.ios .container-edit .page-content .list-block:first-child { +.phone.ios .container-edit .page-content .list-block:first-child, +.phone.ios .container-collaboration .page-content .list-block:first-child { margin-top: -1px; } .container-edit.popover, .container-add.popover, -.container-settings.popover { +.container-settings.popover, +.container-collaboration.popover { width: 360px; } .settings.popup .list-block ul, @@ -6269,6 +6274,8 @@ html.pixel-ratio-3 .document-menu .list-block li:last-child li .item-inner:after padding-top: 15px; padding-bottom: 15px; margin: 0; + max-width: 100%; + word-wrap: break-word; } .page-change #user-name { font-size: 17px; @@ -6286,29 +6293,34 @@ html.pixel-ratio-3 .document-menu .list-block li:last-child li .item-inner:after .page-change #text-change { color: #000000; font-size: 15px; - line-height: 18px; + line-height: 20px; margin: 0; margin-top: 10px; } -.page-change .block-btn { +.page-change .block-btn, +.page-change .content-block.block-btn:first-child { display: flex; flex-direction: row; justify-content: space-around; margin: 26px 0; } .page-change .block-btn #btn-next-change, -.page-change .block-btn #btn-reject-change { +.page-change .content-block.block-btn:first-child #btn-next-change, +.page-change .block-btn #btn-reject-change, +.page-change .content-block.block-btn:first-child #btn-reject-change { margin-left: 20px; } -.page-change .block-btn .link { - height: 48px; - width: 48px; - display: inline-block; +.page-change .block-btn #btn-goto-change, +.page-change .content-block.block-btn:first-child #btn-goto-change { + margin-right: 20px; } -.page-change .block-btn .link .icon { - background-position: center; - height: 48px; - width: 48px; +.page-change .block-btn .right-buttons, +.page-change .content-block.block-btn:first-child .right-buttons { + display: flex; +} +.page-change .block-btn .link, +.page-change .content-block.block-btn:first-child .link { + display: inline-block; } .navbar .center-collaboration { display: flex; @@ -6318,6 +6330,9 @@ html.pixel-ratio-3 .document-menu .list-block li:last-child li .item-inner:after position: absolute; right: 10px; } +.container-collaboration .page-content .list-block:first-child { + margin-top: -1px; +} .tablet .searchbar.document.replace .center .searchbar:first-child { margin-right: 10px; } @@ -6794,6 +6809,41 @@ i.icon.icon-format-html { height: 30px; background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%2262px%22%20height%3D%2262px%22%20viewBox%3D%220%200%2062%2062%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23446995%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M24.993%2C38.689L11.34%2C32.753v-3.288l13.653-5.91v3.872l-9.523%2C3.641l9.523%2C3.777V38.689z%22%20%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M27.09%2C41.298l4.931-20.596h2.867l-4.986%2C20.596H27.09z%22%20%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M36.986%2C38.703v-3.845l9.536-3.75L36.986%2C27.4v-3.817l13.666%2C5.91v3.261L36.986%2C38.703z%22%20%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); } +i.icon.icon-collaboration { + width: 24px; + height: 24px; + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M15.9912%206C15.9912%208.34102%2015.4074%2010.1346%2014.6055%2011.3121C13.7983%2012.4974%2012.8249%2013%2011.9912%2013C11.1575%2013%2010.1841%2012.4974%209.37695%2011.3121C8.57501%2010.1346%207.99121%208.34102%207.99121%206C7.99121%203.61508%209.96974%202%2011.9912%202C14.0127%202%2015.9912%203.61508%2015.9912%206ZM14.5015%2012.9506C13.7365%2013.6361%2012.8649%2014%2011.9912%2014C11.1195%2014%2010.2499%2013.6378%209.48619%2012.9554C7.78363%2013.6081%206.36015%2014.2591%205.26963%2014.9224C3.55256%2015.9667%203%2016.8326%203%2017.5C3%2018.2545%203.4257%2019.0877%204.82302%2019.7879C6.25015%2020.5031%208.57272%2020.9999%2012%2021C15.4273%2021%2017.7499%2020.5031%2019.177%2019.7879C20.5743%2019.0877%2021%2018.2545%2021%2017.5C21%2016.8326%2020.4474%2015.9667%2018.7304%2014.9224C17.6372%2014.2575%2016.2095%2013.605%2014.5015%2012.9506ZM15.2272%2012.1594C16.2765%2010.7825%2016.9912%208.67814%2016.9912%206C16.9912%203%2014.5%201%2011.9912%201C9.48242%201%206.99121%203%206.99121%206C6.99121%208.68159%207.70777%2010.7879%208.75931%2012.1647C4.60309%2013.7964%202%2015.4951%202%2017.5C2%2019.9852%205%2021.9999%2012%2022C19%2022%2022%2019.9852%2022%2017.5C22%2015.4929%2019.3913%2013.7927%2015.2272%2012.1594Z%22%20fill%3D%22%23446995%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +i.icon.icon-accept { + width: 24px; + height: 24px; + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M9%2018L2%2011L1%2012L9%2020L23%206L22%205L9%2018Z%22%20fill%3D%22%23446995%22%2F%3E%3C%2Fsvg%3E"); +} +i.icon.icon-reject { + width: 24px; + height: 24px; + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%204L4%205L11%2012L4%2019L5%2020L12%2013L19%2020L20%2019L13%2012L20%205L19%204L12%2011L5%204Z%22%20fill%3D%22%23446995%22%2F%3E%3C%2Fsvg%3E"); +} +i.icon.icon-next-change { + width: 24px; + height: 24px; + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20clip-path%3D%22url(%23clipnext)%22%3E%3Cpath%20d%3D%22M16%2012L6.5%2022L7.5%2023L18%2012L7.5%201L6.5%202L16%2012Z%22%20fill%3D%22%23446995%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clipnext%22%3E%3Crect%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E"); +} +i.icon.icon-prev-change { + width: 24px; + height: 24px; + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20clip-path%3D%22url(%23clipprev)%22%3E%3Cpath%20d%3D%22M8%2012L17.5%202L16.5%201L6%2012L16.5%2023L17.5%2022L8%2012Z%22%20fill%3D%22%23446995%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clipprev%22%3E%3Crect%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E"); +} +i.icon.icon-goto { + width: 24px; + height: 24px; + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M21%203H3V21H21V3ZM3%202H2V3V21V22H3H21H22V21V3V2H21H3ZM15.2929%208H9V7H16.5H17V7.5V15H16V8.70711L7.35355%2017.3536L6.64645%2016.6464L15.2929%208Z%22%20fill%3D%22%23446995%22%2F%3E%3C%2Fsvg%3E"); +} +i.icon.icon-delete-change { + width: 24px; + height: 24px; + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M9.5%201H9V1.5V3H5H4H2V4H4V21V22H5H19H20V21V4H22V3H20H19H15V1.5V1H14.5H9.5ZM14%203V2H10V3H14ZM5%204H19V21H5V4ZM7%206H8V19H7V6ZM11%206H10V19H11V6ZM13%206H14V19H13V6ZM17%206H16V19H17V6Z%22%20fill%3D%22%23446995%22%2F%3E%3C%2Fsvg%3E"); +} .label-switch input[type="checkbox"]:checked + .checkbox { background: #446995; } @@ -6909,3 +6959,26 @@ html.pixel-ratio-3 .numbers li { max-height: 100%; overflow: auto; } +#user-list .item-content { + padding-left: 0; +} +#user-list .item-inner { + justify-content: flex-start; + padding-left: 15px; +} +#user-list .length { + margin-left: 4px; +} +#user-list .color { + min-width: 40px; + min-height: 40px; + margin-right: 20px; + text-align: center; + border-radius: 50px; + line-height: 40px; + color: #373737; + font-weight: 500; +} +#user-list ul:before { + content: none; +} diff --git a/apps/documenteditor/mobile/resources/css/app-material.css b/apps/documenteditor/mobile/resources/css/app-material.css index f90b9a5ed..3b3d531f9 100644 --- a/apps/documenteditor/mobile/resources/css/app-material.css +++ b/apps/documenteditor/mobile/resources/css/app-material.css @@ -5628,12 +5628,14 @@ a.item-link, [disabled] [disabled] { opacity: 1; } -.phone.android .container-edit .page-content .list-block:first-child { +.phone.android .container-edit .page-content .list-block:first-child, +.phone.android .container-collaboration .page-content .list-block:first-child { margin-top: -1px; } .container-edit.popover, .container-add.popover, -.container-settings.popover { +.container-settings.popover, +.container-collaboration.popover { width: 360px; } .settings.popup .list-block, @@ -5868,6 +5870,8 @@ html.phone .document-menu .list-block .item-link { padding-top: 15px; padding-bottom: 15px; margin: 0; + max-width: 100%; + word-wrap: break-word; } .page-change #user-name { font-size: 17px; @@ -5885,7 +5889,7 @@ html.phone .document-menu .list-block .item-link { .page-change #text-change { color: #000000; font-size: 15px; - line-height: 18px; + line-height: 20px; margin: 0; margin-top: 10px; } @@ -5901,21 +5905,22 @@ html.phone .document-menu .list-block .item-link { .page-change .block-btn #btn-reject-change { margin-left: 20px; } +.page-change .block-btn #btn-goto-change { + margin-right: 20px; +} +.page-change .block-btn .right-buttons { + display: flex; +} .page-change .block-btn .link { display: inline-block; } -.page-change .block-btn .link .icon { - background-position: center; - height: 48px; - width: 48px; -} -.navbar .center-collaboration { - text-align: center; -} .container-collaboration .navbar .right.close-collaboration { position: absolute; right: 5px; } +.container-collaboration .page-content .list-block:first-child { + margin-top: -1px; +} .tablet .searchbar.document.replace .center > .replace { display: flex; } @@ -6028,6 +6033,11 @@ i.icon.icon-spellcheck { height: 22px; background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20viewBox%3D%220%200%2022%2022%22%20fill%3D%22%23446995%22%3E%3Cg%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M8%201L3%2015H4.2L5.97686%2010H11.0231L11.6768%2011.8394C11.955%2011.5504%2012.262%2011.2892%2012.593%2011.0605L9%201H8ZM8.5%202.9L10.6678%209H6.33223L8.5%202.9Z%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M16%2021C18.7614%2021%2021%2018.7614%2021%2016C21%2013.2386%2018.7614%2011%2016%2011C13.2386%2011%2011%2013.2386%2011%2016C11%2018.7614%2013.2386%2021%2016%2021ZM15.3536%2018.3536L19.3536%2014.3536L18.6464%2013.6464L15%2017.2929L13.3536%2015.6464L12.6464%2016.3536L14.6464%2018.3536L15%2018.7071L15.3536%2018.3536Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); } +i.icon.icon-settings { + width: 24px; + height: 24px; + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20viewBox%3D%220%200%2022%2022%22%20fill%3D%22%23446995%22%3E%3Cg%3E%3Cpath%20d%3D%22M11.8%2C3l0.4%2C2c0.1%2C0.7%2C0.6%2C1.1%2C1.3%2C1.1c0.3%2C0%2C0.5-0.1%2C0.7-0.2l1.9-1.2l1.1%2C1.1l-1.1%2C1.8C15.8%2C8%2C15.8%2C8.5%2C16%2C8.9c0.2%2C0.4%2C0.5%2C0.7%2C1%2C0.8l2.1%2C0.5v1.6L17%2C12.2c-0.5%2C0.1-0.8%2C0.4-1%2C0.8c-0.2%2C0.4-0.1%2C0.9%2C0.1%2C1.2l1.2%2C1.9l-1.1%2C1.1l-1.8-1.1c-0.2-0.2-0.5-0.2-0.8-0.2c-0.6%2C0-1.2%2C0.5-1.3%2C1.1l-0.5%2C2.1h-1.6l-0.4-2C9.7%2C16.4%2C9.2%2C16%2C8.5%2C16c-0.3%2C0-0.5%2C0.1-0.7%2C0.2l-1.9%2C1.2l-1.1-1.1l1.1-1.8c0.3-0.4%2C0.3-0.9%2C0.1-1.3c-0.2-0.4-0.5-0.7-1-0.8l-2.1-0.5v-1.6l2-0.4c0.5-0.1%2C0.8-0.4%2C1-0.8C6.1%2C8.7%2C6%2C8.2%2C5.8%2C7.9l-1-2l1.1-1.1l1.8%2C1.1C8%2C6.1%2C8.2%2C6.2%2C8.5%2C6.2c0.6%2C0%2C1.2-0.5%2C1.3-1.1L10.3%2C3H11.8%20M11%2C15.5c2.5%2C0%2C4.5-2%2C4.5-4.5s-2-4.5-4.5-4.5s-4.5%2C2-4.5%2C4.5S8.5%2C15.5%2C11%2C15.5%20M12.1%2C2H9.9C9.6%2C2%2C9.4%2C2.2%2C9.3%2C2.5L8.8%2C4.9c0%2C0.2-0.2%2C0.3-0.3%2C0.3s-0.1%2C0-0.2-0.1L6.2%2C3.8C6.1%2C3.7%2C6%2C3.7%2C5.8%2C3.7c-0.1%2C0-0.3%2C0-0.4%2C0.1L3.8%2C5.4c-0.1%2C0.2-0.2%2C0.5%2C0%2C0.8l1.3%2C2.1c0.1%2C0.2%2C0.1%2C0.4-0.2%2C0.5L2.5%2C9.3C2.2%2C9.4%2C2%2C9.6%2C2%2C9.9v2.2c0%2C0.3%2C0.2%2C0.5%2C0.5%2C0.6l2.4%2C0.5c0.3%2C0.1%2C0.4%2C0.3%2C0.2%2C0.5l-1.3%2C2.1c-0.2%2C0.2-0.1%2C0.6%2C0.1%2C0.8l1.6%2C1.6c0.1%2C0.1%2C0.3%2C0.2%2C0.4%2C0.2s0.2%2C0%2C0.3-0.1L8.3%2C17c0.1-0.1%2C0.1-0.1%2C0.2-0.1s0.3%2C0.1%2C0.3%2C0.3l0.5%2C2.3C9.4%2C19.8%2C9.6%2C20%2C9.9%2C20h2.2c0.3%2C0%2C0.5-0.2%2C0.6-0.5l0.5-2.4c0-0.2%2C0.1-0.3%2C0.3-0.3c0.1%2C0%2C0.1%2C0%2C0.2%2C0.1l2.1%2C1.3c0.1%2C0.1%2C0.2%2C0.1%2C0.3%2C0.1c0.2%2C0%2C0.3-0.1%2C0.4-0.2l1.6-1.6c0.2-0.2%2C0.2-0.5%2C0.1-0.8l-1.3-2.1c-0.2-0.2-0.1-0.5%2C0.2-0.5l2.4-0.5c0.3-0.1%2C0.5-0.3%2C0.5-0.6V9.8c0-0.3-0.2-0.5-0.5-0.6l-2.4-0.5c-0.3-0.1-0.4-0.3-0.2-0.5l1.3-2.1c0.2-0.2%2C0.1-0.6-0.1-0.8l-1.6-1.6c-0.1-0.1-0.3-0.2-0.4-0.2c-0.1%2C0-0.2%2C0-0.3%2C0.1l-2.1%2C1.3C13.6%2C5%2C13.6%2C5%2C13.5%2C5c-0.1%2C0-0.3-0.1-0.3-0.3l-0.5-2.2C12.6%2C2.2%2C12.4%2C2%2C12.1%2C2L12.1%2C2z%20M11%2C14.5c-1.9%2C0-3.5-1.6-3.5-3.5S9.1%2C7.5%2C11%2C7.5s3.5%2C1.6%2C3.5%2C3.5S12.9%2C14.5%2C11%2C14.5L11%2C14.5z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} i.icon.icon-review { width: 22px; height: 28px; @@ -6282,6 +6292,41 @@ i.icon.icon-format-html { height: 30px; background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%2262px%22%20height%3D%2262px%22%20viewBox%3D%220%200%2062%2062%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23446995%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M24.993%2C38.689L11.34%2C32.753v-3.288l13.653-5.91v3.872l-9.523%2C3.641l9.523%2C3.777V38.689z%22%20%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M27.09%2C41.298l4.931-20.596h2.867l-4.986%2C20.596H27.09z%22%20%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M36.986%2C38.703v-3.845l9.536-3.75L36.986%2C27.4v-3.817l13.666%2C5.91v3.261L36.986%2C38.703z%22%20%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); } +i.icon.icon-collaboration { + width: 24px; + height: 24px; + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M15.9912%206C15.9912%208.34102%2015.4074%2010.1346%2014.6055%2011.3121C13.7983%2012.4974%2012.8249%2013%2011.9912%2013C11.1575%2013%2010.1841%2012.4974%209.37695%2011.3121C8.57501%2010.1346%207.99121%208.34102%207.99121%206C7.99121%203.61508%209.96974%202%2011.9912%202C14.0127%202%2015.9912%203.61508%2015.9912%206ZM14.5015%2012.9506C13.7365%2013.6361%2012.8649%2014%2011.9912%2014C11.1195%2014%2010.2499%2013.6378%209.48619%2012.9554C7.78363%2013.6081%206.36015%2014.2591%205.26963%2014.9224C3.55256%2015.9667%203%2016.8326%203%2017.5C3%2018.2545%203.4257%2019.0877%204.82302%2019.7879C6.25015%2020.5031%208.57272%2020.9999%2012%2021C15.4273%2021%2017.7499%2020.5031%2019.177%2019.7879C20.5743%2019.0877%2021%2018.2545%2021%2017.5C21%2016.8326%2020.4474%2015.9667%2018.7304%2014.9224C17.6372%2014.2575%2016.2095%2013.605%2014.5015%2012.9506ZM15.2272%2012.1594C16.2765%2010.7825%2016.9912%208.67814%2016.9912%206C16.9912%203%2014.5%201%2011.9912%201C9.48242%201%206.99121%203%206.99121%206C6.99121%208.68159%207.70777%2010.7879%208.75931%2012.1647C4.60309%2013.7964%202%2015.4951%202%2017.5C2%2019.9852%205%2021.9999%2012%2022C19%2022%2022%2019.9852%2022%2017.5C22%2015.4929%2019.3913%2013.7927%2015.2272%2012.1594Z%22%20fill%3D%22%23446995%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +i.icon.icon-accept { + width: 24px; + height: 24px; + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M9%2018L2%2011L1%2012L9%2020L23%206L22%205L9%2018Z%22%20fill%3D%22%23446995%22%2F%3E%3C%2Fsvg%3E"); +} +i.icon.icon-reject { + width: 24px; + height: 24px; + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%204L4%205L11%2012L4%2019L5%2020L12%2013L19%2020L20%2019L13%2012L20%205L19%204L12%2011L5%204Z%22%20fill%3D%22%23446995%22%2F%3E%3C%2Fsvg%3E"); +} +i.icon.icon-next-change { + width: 24px; + height: 24px; + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20clip-path%3D%22url(%23clipnext)%22%3E%3Cpath%20d%3D%22M16%2012L6.5%2022L7.5%2023L18%2012L7.5%201L6.5%202L16%2012Z%22%20fill%3D%22%23446995%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clipnext%22%3E%3Crect%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E"); +} +i.icon.icon-prev-change { + width: 24px; + height: 24px; + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20clip-path%3D%22url(%23clipprev)%22%3E%3Cpath%20d%3D%22M8%2012L17.5%202L16.5%201L6%2012L16.5%2023L17.5%2022L8%2012Z%22%20fill%3D%22%23446995%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clipprev%22%3E%3Crect%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E"); +} +i.icon.icon-goto { + width: 24px; + height: 24px; + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M21%203H3V21H21V3ZM3%202H2V3V21V22H3H21H22V21V3V2H21H3ZM15.2929%208H9V7H16.5H17V7.5V15H16V8.70711L7.35355%2017.3536L6.64645%2016.6464L15.2929%208Z%22%20fill%3D%22%23446995%22%2F%3E%3C%2Fsvg%3E"); +} +i.icon.icon-delete-change { + width: 24px; + height: 24px; + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M9.5%201H9V1.5V3H5H4H2V4H4V21V22H5H19H20V21V4H22V3H20H19H15V1.5V1H14.5H9.5ZM14%203V2H10V3H14ZM5%204H19V21H5V4ZM7%206H8V19H7V6ZM11%206H10V19H11V6ZM13%206H14V19H13V6ZM17%206H16V19H17V6Z%22%20fill%3D%22%23446995%22%2F%3E%3C%2Fsvg%3E"); +} .navbar i.icon.icon-undo { width: 22px; height: 22px; @@ -6332,6 +6377,11 @@ i.icon.icon-format-html { height: 22px; background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20viewBox%3D%220%200%2022%2022%22%20fill%3D%22%23fff%22%3E%3Cg%3E%3Cpolygon%20points%3D%2210.9%2C16.9%202%2C8.1%204.1%2C6%2011.1%2C12.8%2017.9%2C6%2020%2C8.1%2011.2%2C16.9%2011.1%2C17%20%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); } +.navbar i.icon.icon-collaboration { + width: 24px; + height: 24px; + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M14.9912%206C14.9912%208.18203%2014.4464%209.76912%2013.7789%2010.7492C13.101%2011.7447%2012.4042%2012%2011.9912%2012C11.5782%2012%2010.8814%2011.7447%2010.2035%2010.7492C9.53601%209.76912%208.99121%208.18203%208.99121%206C8.99121%204.23017%2010.4571%203%2011.9912%203C13.5254%203%2014.9912%204.23017%2014.9912%206ZM13.4917%2013.6397C13.0059%2013.8771%2012.4989%2014%2011.9912%2014C11.4861%2014%2010.9817%2013.8784%2010.4983%2013.6434C8.53188%2014.3681%206.94518%2015.0737%205.78927%2015.7768C4.10512%2016.8011%204%2017.4079%204%2017.5C4%2017.7664%204.1014%2018.3077%205.27104%2018.8939C6.50029%2019.5099%208.64545%2019.9999%2012%2020C15.3546%2020%2017.4997%2019.5099%2018.7289%2018.8939C19.8986%2018.3078%2020%2017.7664%2020%2017.5C20%2017.4079%2019.8949%2016.8011%2018.2107%2015.7768C17.0529%2015.0726%2015.4627%2014.3657%2013.4917%2013.6397ZM15.2272%2012.1594C16.2765%2010.7825%2016.9912%208.67814%2016.9912%206C16.9912%203%2014.5%201%2011.9912%201C9.48242%201%206.99121%203%206.99121%206C6.99121%208.68159%207.70777%2010.7879%208.75931%2012.1647C4.60309%2013.7964%202%2015.4951%202%2017.5C2%2019.9852%205%2021.9999%2012%2022C19%2022%2022%2019.9852%2022%2017.5C22%2015.4929%2019.3913%2013.7927%2015.2272%2012.1594Z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E"); +} .sailfish i.icon.icon-text-align-center { background-color: transparent; -webkit-mask-image: none; @@ -6683,3 +6733,26 @@ html.pixel-ratio-3 .numbers li { max-height: 100%; overflow: auto; } +#user-list .item-content { + padding-left: 0; +} +#user-list .item-inner { + justify-content: flex-start; + padding-left: 15px; +} +#user-list .length { + margin-left: 4px; +} +#user-list .color { + min-width: 40px; + min-height: 40px; + margin-right: 20px; + text-align: center; + border-radius: 50px; + line-height: 40px; + color: #373737; + font-weight: 400; +} +#user-list ul:before { + content: none; +} diff --git a/apps/documenteditor/mobile/resources/less/app-ios.less b/apps/documenteditor/mobile/resources/less/app-ios.less index f36d5fc97..acfb7401b 100644 --- a/apps/documenteditor/mobile/resources/less/app-ios.less +++ b/apps/documenteditor/mobile/resources/less/app-ios.less @@ -239,4 +239,34 @@ input, textarea { .modal.modal-in { max-height: 100%; overflow: auto; +} + +//Edit users +@initialEditUser: #373737; + +#user-list { + .item-content { + padding-left: 0; + } + .item-inner { + justify-content: flex-start; + padding-left: 15px; + } + .length { + margin-left: 4px; + } + .color { + min-width: 40px; + min-height: 40px; + margin-right: 20px; + text-align: center; + border-radius: 50px; + line-height: 40px; + color: @initialEditUser; + font-weight: 500; + + } + ul:before { + content: none; + } } \ No newline at end of file diff --git a/apps/documenteditor/mobile/resources/less/app-material.less b/apps/documenteditor/mobile/resources/less/app-material.less index 37a4adfd3..54e5c2199 100644 --- a/apps/documenteditor/mobile/resources/less/app-material.less +++ b/apps/documenteditor/mobile/resources/less/app-material.less @@ -226,4 +226,33 @@ input, textarea { .modal.modal-in { max-height: 100%; overflow: auto; +} + +//Edit users +@initialEditUser: #373737; + +#user-list { + .item-content { + padding-left: 0; + } + .item-inner { + justify-content: flex-start; + padding-left: 15px; + } + .length { + margin-left: 4px; + } + .color { + min-width: 40px; + min-height: 40px; + margin-right: 20px; + text-align: center; + border-radius: 50px; + line-height: 40px; + color: @initialEditUser; + font-weight: 400; + } + ul:before { + content: none; + } } \ No newline at end of file diff --git a/apps/documenteditor/mobile/resources/less/ios/_icons.less b/apps/documenteditor/mobile/resources/less/ios/_icons.less index 33b506ad7..051f17b81 100644 --- a/apps/documenteditor/mobile/resources/less/ios/_icons.less +++ b/apps/documenteditor/mobile/resources/less/ios/_icons.less @@ -410,4 +410,40 @@ i.icon { height: 30px; .encoded-svg-background(''); } + // Collaboration + &.icon-collaboration { + width: 24px; + height: 24px; + .encoded-svg-background(''); + } + &.icon-accept { + width: 24px; + height: 24px; + .encoded-svg-background(''); + } + &.icon-reject { + width: 24px; + height: 24px; + .encoded-svg-background(''); + } + &.icon-next-change { + width: 24px; + height: 24px; + .encoded-svg-background(''); + } + &.icon-prev-change { + width: 24px; + height: 24px; + .encoded-svg-background(''); + } + &.icon-goto { + width: 24px; + height: 24px; + .encoded-svg-background(''); + } + &.icon-delete-change { + width: 24px; + height: 24px; + .encoded-svg-background(''); + } } \ No newline at end of file diff --git a/apps/documenteditor/mobile/resources/less/material/_icons.less b/apps/documenteditor/mobile/resources/less/material/_icons.less index 2f4d150c3..5e15350b5 100644 --- a/apps/documenteditor/mobile/resources/less/material/_icons.less +++ b/apps/documenteditor/mobile/resources/less/material/_icons.less @@ -45,6 +45,11 @@ i.icon { height: 22px; .encoded-svg-background(''); } + &.icon-settings { + width: 24px; + height: 24px; + .encoded-svg-background(''); + } &.icon-review { width: 22px; height: 28px; @@ -332,6 +337,42 @@ i.icon { height: 30px; .encoded-svg-background(''); } + // Collaboration + &.icon-collaboration { + width: 24px; + height: 24px; + .encoded-svg-background(''); + } + &.icon-accept { + width: 24px; + height: 24px; + .encoded-svg-background(''); + } + &.icon-reject { + width: 24px; + height: 24px; + .encoded-svg-background(''); + } + &.icon-next-change { + width: 24px; + height: 24px; + .encoded-svg-background(''); + } + &.icon-prev-change { + width: 24px; + height: 24px; + .encoded-svg-background(''); + } + &.icon-goto { + width: 24px; + height: 24px; + .encoded-svg-background(''); + } + &.icon-delete-change { + width: 24px; + height: 24px; + .encoded-svg-background(''); + } } // Overwrite color for toolbar @@ -388,5 +429,10 @@ i.icon { height: 22px; .encoded-svg-background(''); } + &.icon-collaboration { + width: 24px; + height: 24px; + .encoded-svg-background(''); + } } } \ No newline at end of file diff --git a/apps/presentationeditor/mobile/app-dev.js b/apps/presentationeditor/mobile/app-dev.js index 9e246a7cd..411ac5c56 100644 --- a/apps/presentationeditor/mobile/app-dev.js +++ b/apps/presentationeditor/mobile/app-dev.js @@ -147,7 +147,8 @@ require([ 'AddShape', 'AddImage', 'AddLink', - 'AddSlide' + 'AddSlide', + 'Collaboration' ] }); @@ -214,7 +215,8 @@ require([ 'presentationeditor/mobile/app/controller/add/AddShape', 'presentationeditor/mobile/app/controller/add/AddImage', 'presentationeditor/mobile/app/controller/add/AddLink', - 'presentationeditor/mobile/app/controller/add/AddSlide' + 'presentationeditor/mobile/app/controller/add/AddSlide', + 'presentationeditor/mobile/app/controller/Collaboration' ], function() { window.compareVersions = true; diff --git a/apps/presentationeditor/mobile/app.js b/apps/presentationeditor/mobile/app.js index 563d162b2..b744ea4f9 100644 --- a/apps/presentationeditor/mobile/app.js +++ b/apps/presentationeditor/mobile/app.js @@ -158,7 +158,8 @@ require([ 'AddShape', 'AddImage', 'AddLink', - 'AddSlide' + 'AddSlide', + 'Collaboration' ] }); @@ -225,7 +226,8 @@ require([ 'presentationeditor/mobile/app/controller/add/AddShape', 'presentationeditor/mobile/app/controller/add/AddImage', 'presentationeditor/mobile/app/controller/add/AddLink', - 'presentationeditor/mobile/app/controller/add/AddSlide' + 'presentationeditor/mobile/app/controller/add/AddSlide', + 'presentationeditor/mobile/app/controller/Collaboration' ], function() { app.start(); }); diff --git a/apps/presentationeditor/mobile/app/controller/Collaboration.js b/apps/presentationeditor/mobile/app/controller/Collaboration.js new file mode 100644 index 000000000..ac31c2bf5 --- /dev/null +++ b/apps/presentationeditor/mobile/app/controller/Collaboration.js @@ -0,0 +1,217 @@ +/* + * + * (c) Copyright Ascensio System SIA 2010-2019 + * + * This program is a free software product. You can redistribute it and/or + * modify it under the terms of the GNU Affero General Public License (AGPL) + * version 3 as published by the Free Software Foundation. In accordance with + * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect + * that Ascensio System SIA expressly excludes the warranty of non-infringement + * of any third-party rights. + * + * This program is distributed WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For + * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html + * + * You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha + * street, Riga, Latvia, EU, LV-1050. + * + * The interactive user interfaces in modified source and object code versions + * of the Program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU AGPL version 3. + * + * Pursuant to Section 7(b) of the License you must retain the original Product + * logo when distributing the program. Pursuant to Section 7(e) we decline to + * grant you any rights under trademark law for use of our trademarks. + * + * All the Product's GUI elements, including illustrations and icon sets, as + * well as technical writing content are licensed under the terms of the + * Creative Commons Attribution-ShareAlike 4.0 International. See the License + * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + * + */ + +/** + * Collaboration.js + * Presentation Editor + * + * Created by Julia Svinareva on 31/5/19 + * Copyright (c) 2019 Ascensio System SIA. All rights reserved. + * + */ +define([ + 'core', + 'jquery', + 'underscore', + 'backbone', + 'presentationeditor/mobile/app/view/Collaboration' +], function (core, $, _, Backbone) { + 'use strict'; + + PE.Controllers.Collaboration = Backbone.Controller.extend(_.extend((function() { + // Private + var rootView, + _userId, + editUsers = []; + + return { + models: [], + collections: [], + views: [ + 'Collaboration' + ], + + initialize: function() { + var me = this; + me.addListeners({ + 'Collaboration': { + 'page:show' : me.onPageShow + } + }); + }, + + setApi: function(api) { + this.api = api; + this.api.asc_registerCallback('asc_onAuthParticipantsChanged', _.bind(this.onChangeEditUsers, this)); + this.api.asc_registerCallback('asc_onParticipantsChanged', _.bind(this.onChangeEditUsers, this)); + }, + + onLaunch: function () { + this.createView('Collaboration').render(); + }, + + setMode: function(mode) { + this.appConfig = mode; + _userId = mode.user.id; + return this; + }, + + + showModal: function() { + var me = this, + isAndroid = Framework7.prototype.device.android === true, + modalView, + mainView = PE.getController('Editor').getView('Editor').f7View; + + uiApp.closeModal(); + + if (Common.SharedSettings.get('phone')) { + modalView = $$(uiApp.pickerModal( + '
      ' + + '' + + '
      ' + )).on('opened', function () { + if (_.isFunction(me.api.asc_OnShowContextMenu)) { + me.api.asc_OnShowContextMenu() + } + }).on('close', function (e) { + mainView.showNavbar(); + }).on('closed', function () { + if (_.isFunction(me.api.asc_OnHideContextMenu)) { + me.api.asc_OnHideContextMenu() + } + }); + mainView.hideNavbar(); + } else { + modalView = uiApp.popover( + '
      ' + + '
      ' + + '
      ' + + '
      ' + + '' + + '
      ' + + '
      ' + + '
      ', + $$('#toolbar-collaboration') + ); + } + + if (Framework7.prototype.device.android === true) { + $$('.view.collaboration-root-view.navbar-through').removeClass('navbar-through').addClass('navbar-fixed'); + $$('.view.collaboration-root-view .navbar').prependTo('.view.collaboration-root-view > .pages > .page'); + } + + rootView = uiApp.addView('.collaboration-root-view', { + dynamicNavbar: true, + domCache: true + }); + + Common.NotificationCenter.trigger('collaborationcontainer:show'); + this.onPageShow(this.getView('Collaboration')); + + PE.getController('Toolbar').getView('Toolbar').hideSearch(); + }, + + rootView : function() { + return rootView; + }, + + onPageShow: function(view, pageId) { + var me = this; + + if('#edit-users-view' == pageId) { + me.initEditUsers(); + Common.Utils.addScrollIfNeed('.page[data-page=edit-users-view]', '.page[data-page=edit-users-view] .page-content'); + } else { + } + }, + + onChangeEditUsers: function(users) { + editUsers = users; + }, + + initEditUsers: function() { + var usersArray = []; + _.each(editUsers, function(item){ + var fio = item.asc_getUserName().split(' '); + var initials = fio[0].substring(0, 1).toUpperCase(); + if (fio.length > 1) { + initials += fio[fio.length - 1].substring(0, 1).toUpperCase(); + } + if(!item.asc_getView()) { + var userAttr = { + color: item.asc_getColor(), + id: item.asc_getId(), + idOriginal: item.asc_getIdOriginal(), + name: item.asc_getUserName(), + view: item.asc_getView(), + initial: initials + }; + if(item.asc_getIdOriginal() == _userId) { + usersArray.unshift(userAttr); + } else { + usersArray.push(userAttr); + } + } + }); + var userSort = _.chain(usersArray).groupBy('idOriginal').value(); + var templateUserItem = _.template([ + '<% _.each(users, function (user) { %>', + '
    • ' + + '
      ' + + '
      <%= user[0].initial %>
      '+ + '' + + '<% if (user.length>1) { %><% } %>' + + '
      '+ + '
    • ', + '<% }); %>'].join('')); + var templateUserList = _.template( + '
      ' + + this.textEditUser + + '
      ' + + '
        ' + + templateUserItem({users: userSort}) + + '
      '); + $('#user-list').html(templateUserList()); + }, + + + textEditUser: 'Document is currently being edited by several users.' + + } + })(), PE.Controllers.Collaboration || {})) +}); \ No newline at end of file diff --git a/apps/presentationeditor/mobile/app/controller/Main.js b/apps/presentationeditor/mobile/app/controller/Main.js index 1f281b0fe..c3ca9ef5c 100644 --- a/apps/presentationeditor/mobile/app/controller/Main.js +++ b/apps/presentationeditor/mobile/app/controller/Main.js @@ -703,6 +703,8 @@ define([ if (me.api) { me.api.asc_registerCallback('asc_onSendThemeColors', _.bind(me.onSendThemeColors, me)); me.api.asc_registerCallback('asc_onDownloadUrl', _.bind(me.onDownloadUrl, me)); + me.api.asc_registerCallback('asc_onAuthParticipantsChanged', _.bind(me.onAuthParticipantsChanged, me)); + me.api.asc_registerCallback('asc_onParticipantsChanged', _.bind(me.onAuthParticipantsChanged, me)); } }, @@ -725,8 +727,6 @@ define([ /** coauthoring begin **/ me.api.asc_registerCallback('asc_onCollaborativeChanges', _.bind(me.onCollaborativeChanges, me)); me.api.asc_registerCallback('asc_OnTryUndoInFastCollaborative',_.bind(me.onTryUndoInFastCollaborative, me)); - me.api.asc_registerCallback('asc_onAuthParticipantsChanged', _.bind(me.onAuthParticipantsChanged, me)); - me.api.asc_registerCallback('asc_onParticipantsChanged', _.bind(me.onAuthParticipantsChanged, me)); /** coauthoring end **/ if (me.stackLongActions.exist({id: ApplyEditRights, type: Asc.c_oAscAsyncActionType['BlockInteraction']})) { @@ -1153,6 +1153,10 @@ define([ this._state.usersCount = length; }, + returnUserCount: function() { + return this._state.usersCount; + }, + onDocumentName: function(name) { // this.getApplication().getController('Viewport').getView('Common.Views.Header').setDocumentCaption(name); this.updateWindowTitle(true); diff --git a/apps/presentationeditor/mobile/app/controller/Settings.js b/apps/presentationeditor/mobile/app/controller/Settings.js index 5bb4b7209..14050c3e0 100644 --- a/apps/presentationeditor/mobile/app/controller/Settings.js +++ b/apps/presentationeditor/mobile/app/controller/Settings.js @@ -163,6 +163,12 @@ define([ $(modalView).find('.formats a').single('click', _.bind(me._onSaveFormat, me)); $('#page-settings-view #slide-size-block li').single('click', _.bind(me._onSlideSize, me)); $('#settings-print').single('click', _.bind(me._onPrint, me)); + $('#settings-collaboration').single('click', _.bind(me.onCollaboration, me)); + + var _userCount = PE.getController('Main').returnUserCount(); + if (_userCount > 0) { + $('#settings-collaboration').show(); + } Common.Utils.addScrollIfNeed('.page[data-page=settings-setup-view]', '.page[data-page=settings-setup-view] .page-content'); Common.Utils.addScrollIfNeed('.page[data-page=settings-download-view]', '.page[data-page=settings-download-view] .page-content'); @@ -187,6 +193,10 @@ define([ } }, + onCollaboration: function() { + PE.getController('Collaboration').showModal(); + }, + initPageColorSchemes: function () { $('#color-schemes-content').html(templateInsert); $('.color-schemes-menu').on('click', _.bind(this.onColorSchemaClick, this)); diff --git a/apps/presentationeditor/mobile/app/controller/Toolbar.js b/apps/presentationeditor/mobile/app/controller/Toolbar.js index 9d09739b4..1f268a8a5 100644 --- a/apps/presentationeditor/mobile/app/controller/Toolbar.js +++ b/apps/presentationeditor/mobile/app/controller/Toolbar.js @@ -80,6 +80,8 @@ define([ this.api.asc_registerCallback('asc_onCanRedo', _.bind(this.onApiCanRevert, this, 'redo')); this.api.asc_registerCallback('asc_onFocusObject', _.bind(this.onApiFocusObject, this)); this.api.asc_registerCallback('asc_onCoAuthoringDisconnect', _.bind(this.onCoAuthoringDisconnect, this)); + this.api.asc_registerCallback('asc_onAuthParticipantsChanged', _.bind(this.displayCollaboration, this)) + this.api.asc_registerCallback('asc_onParticipantsChanged', _.bind(this.displayCollaboration, this)); Common.NotificationCenter.on('api:disconnect', _.bind(this.onCoAuthoringDisconnect, this)); }, @@ -175,11 +177,11 @@ define([ }, activateControls: function() { - $('#toolbar-preview, #toolbar-settings, #toolbar-search, #document-back, #toolbar-edit-document').removeClass('disabled'); + $('#toolbar-preview, #toolbar-settings, #toolbar-search, #document-back, #toolbar-edit-document, #toolbar-collaboration').removeClass('disabled'); }, activateViewControls: function() { - $('#toolbar-preview, #toolbar-search, #document-back').removeClass('disabled'); + $('#toolbar-preview, #toolbar-search, #document-back, #toolbar-collaboration').removeClass('disabled'); }, deactivateEditControls: function() { @@ -196,6 +198,21 @@ define([ PE.getController('Settings').hideModal(); }, + displayCollaboration: function(users) { + if(users !== undefined) { + var length = 0; + _.each(users, function (item) { + if (!item.asc_getView()) + length++; + }); + if (length > 0) { + $('#toolbar-collaboration').show(); + } else { + $('#toolbar-collaboration').hide(); + } + } + }, + dlgLeaveTitleText : 'You leave the application', dlgLeaveMsgText : 'You have unsaved changes in this document. Click \'Stay on this Page\' to await the autosave of the document. Click \'Leave this Page\' to discard all the unsaved changes.', leaveButtonText : 'Leave this Page', diff --git a/apps/presentationeditor/mobile/app/template/Collaboration.template b/apps/presentationeditor/mobile/app/template/Collaboration.template new file mode 100644 index 000000000..599f0a369 --- /dev/null +++ b/apps/presentationeditor/mobile/app/template/Collaboration.template @@ -0,0 +1,47 @@ + +
      + + +
      + + +
      + +
      +
      +
      +
      +
      +
      +
      +
      +
      \ No newline at end of file diff --git a/apps/presentationeditor/mobile/app/template/Settings.template b/apps/presentationeditor/mobile/app/template/Settings.template index 6f5257ab0..9bb3f9d98 100644 --- a/apps/presentationeditor/mobile/app/template/Settings.template +++ b/apps/presentationeditor/mobile/app/template/Settings.template @@ -25,6 +25,18 @@ <% } %> + <% if(phone) {%> +
    • + +
    • + <% } %>
    • @@ -339,7 +351,7 @@
    -
    +
    • diff --git a/apps/presentationeditor/mobile/app/template/Toolbar.template b/apps/presentationeditor/mobile/app/template/Toolbar.template index 5db722d62..4df183978 100644 --- a/apps/presentationeditor/mobile/app/template/Toolbar.template +++ b/apps/presentationeditor/mobile/app/template/Toolbar.template @@ -45,6 +45,11 @@ <% } %> + <% if (!phone) { %> + + <% } %> diff --git a/apps/presentationeditor/mobile/app/view/Collaboration.js b/apps/presentationeditor/mobile/app/view/Collaboration.js new file mode 100644 index 000000000..6b8299f82 --- /dev/null +++ b/apps/presentationeditor/mobile/app/view/Collaboration.js @@ -0,0 +1,149 @@ +/* + * + * (c) Copyright Ascensio System SIA 2010-2019 + * + * This program is a free software product. You can redistribute it and/or + * modify it under the terms of the GNU Affero General Public License (AGPL) + * version 3 as published by the Free Software Foundation. In accordance with + * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect + * that Ascensio System SIA expressly excludes the warranty of non-infringement + * of any third-party rights. + * + * This program is distributed WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For + * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html + * + * You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha + * street, Riga, Latvia, EU, LV-1050. + * + * The interactive user interfaces in modified source and object code versions + * of the Program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU AGPL version 3. + * + * Pursuant to Section 7(b) of the License you must retain the original Product + * logo when distributing the program. Pursuant to Section 7(e) we decline to + * grant you any rights under trademark law for use of our trademarks. + * + * All the Product's GUI elements, including illustrations and icon sets, as + * well as technical writing content are licensed under the terms of the + * Creative Commons Attribution-ShareAlike 4.0 International. See the License + * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + * + */ + +/** + * Collaboration.js + * Presentation Editor + * + * Created by Julia Svinareva on 31/5/19 + * Copyright (c) 2019 Ascensio System SIA. All rights reserved. + * + */ + +define([ + 'text!presentationeditor/mobile/app/template/Collaboration.template', + 'jquery', + 'underscore', + 'backbone' +], function (settingsTemplate, $, _, Backbone) { + 'use strict'; + + PE.Views.Collaboration = Backbone.View.extend(_.extend((function() { + // private + + return { + + template: _.template(settingsTemplate), + + events: { + // + }, + + initialize: function() { + Common.NotificationCenter.on('collaborationcontainer:show', _.bind(this.initEvents, this)); + this.on('page:show', _.bind(this.updateItemHandlers, this)); + }, + + initEvents: function () { + var me = this; + + Common.Utils.addScrollIfNeed('.view[data-page=collaboration-root-view] .pages', '.view[data-page=collaboration-root-view] .page'); + me.updateItemHandlers(); + }, + + initControls: function() { + // + }, + + // Render layout + render: function() { + this.layout = $('
      ').append(this.template({ + android : Common.SharedSettings.get('android'), + phone : Common.SharedSettings.get('phone'), + orthography: Common.SharedSettings.get('sailfish'), + scope : this + })); + + return this; + }, + + updateItemHandlers: function () { + var selectorsDynamicPage = [ + '.page[data-page=collaboration-root-view]' + ].map(function (selector) { + return selector + ' a.item-link[data-page]'; + }).join(', '); + + $(selectorsDynamicPage).single('click', _.bind(this.onItemClick, this)); + }, + + onItemClick: function (e) { + var $target = $(e.currentTarget), + page = $target.data('page'); + + if (page && page.length > 0 ) { + this.showPage(page); + } + }, + + rootLayout: function () { + if (this.layout) { + var $layour = this.layout.find('#collaboration-root-view'), + isPhone = Common.SharedSettings.get('phone'); + + return $layour.html(); + } + + return ''; + }, + + showPage: function(templateId, animate) { + var rootView = PE.getController('Collaboration').rootView(); + + if (rootView && this.layout) { + var $content = this.layout.find(templateId); + + // Android fix for navigation + if (Framework7.prototype.device.android) { + $content.find('.page').append($content.find('.navbar')); + } + + rootView.router.load({ + content: $content.html(), + animatePages: animate !== false + }); + + this.fireEvent('page:show', [this, templateId]); + } + }, + + + + textCollaboration: 'Collaboration', + textСomments: 'Сomments', + textBack: 'Back', + textEditUsers: 'Users' + + } + })(), PE.Views.Collaboration || {})) +}); \ No newline at end of file diff --git a/apps/presentationeditor/mobile/app/view/Settings.js b/apps/presentationeditor/mobile/app/view/Settings.js index 16929b4d0..d9d893ab1 100644 --- a/apps/presentationeditor/mobile/app/view/Settings.js +++ b/apps/presentationeditor/mobile/app/view/Settings.js @@ -121,6 +121,7 @@ define([ $layour.find('#settings-readermode').hide(); $layour.find('#settings-search .item-title').text(this.textFindAndReplace) } else { + $layour.find('#settings-application').hide(); $layour.find('#settings-spellcheck').hide(); $layour.find('#settings-presentation-setup').hide(); $layour.find('#settings-readermode input:checkbox') @@ -246,7 +247,8 @@ define([ textCentimeter: 'Centimeter', textPoint: 'Point', textInch: 'Inch', - textColorSchemes: 'Color Schemes' + textColorSchemes: 'Color Schemes', + textCollaboration: 'Collaboration' } })(), PE.Views.Settings || {})) }); \ No newline at end of file diff --git a/apps/presentationeditor/mobile/app/view/Toolbar.js b/apps/presentationeditor/mobile/app/view/Toolbar.js index c40510fc0..e71a47607 100644 --- a/apps/presentationeditor/mobile/app/view/Toolbar.js +++ b/apps/presentationeditor/mobile/app/view/Toolbar.js @@ -64,7 +64,8 @@ define([ "click #toolbar-add" : "showInserts", "click #toolbar-settings" : "showSettings", "click #toolbar-preview" : "showPreview", - "click #toolbar-edit-document": "editDocument" + "click #toolbar-edit-document": "editDocument", + "click #toolbar-collaboration" : "showCollaboration" }, // Set innerHTML and get the references to the DOM elements @@ -159,6 +160,11 @@ define([ Common.Gateway.requestEditRights(); }, + //Collaboration + showCollaboration: function () { + PE.getController('Collaboration').showModal(); + }, + textBack: 'Back' } })(), PE.Views.Toolbar || {})) diff --git a/apps/presentationeditor/mobile/locale/en.json b/apps/presentationeditor/mobile/locale/en.json index b54f6ec84..43260e8f6 100644 --- a/apps/presentationeditor/mobile/locale/en.json +++ b/apps/presentationeditor/mobile/locale/en.json @@ -226,6 +226,7 @@ "PE.Controllers.Toolbar.dlgLeaveTitleText": "You leave the application", "PE.Controllers.Toolbar.leaveButtonText": "Leave this Page", "PE.Controllers.Toolbar.stayButtonText": "Stay on this Page", + "PE.Controllers.Collaboration.textEditUser": "Document is currently being edited by several users.", "PE.Views.AddImage.textAddress": "Address", "PE.Views.AddImage.textBack": "Back", "PE.Views.AddImage.textFromLibrary": "Picture from Library", @@ -474,5 +475,10 @@ "PE.Views.Settings.textPresentSettings": "Presentation Settings", "PE.Views.Settings.textColorSchemes": "Color Schemes", "PE.Views.Settings.unknownText": "Unknown", - "PE.Views.Toolbar.textBack": "Back" + "PE.Views.Settings.textCollaboration": "Collaboration", + "PE.Views.Toolbar.textBack": "Back", + "PE.Views.Collaboration.textCollaboration": "Collaboration", + "PE.Views.Collaboration.textСomments": "Сomments", + "PE.Views.Collaboration.textBack": "Back", + "PE.Views.Collaboration.textEditUsers": "Users" } \ No newline at end of file diff --git a/apps/presentationeditor/mobile/resources/css/app-ios.css b/apps/presentationeditor/mobile/resources/css/app-ios.css index b1deee838..50c8d18c4 100644 --- a/apps/presentationeditor/mobile/resources/css/app-ios.css +++ b/apps/presentationeditor/mobile/resources/css/app-ios.css @@ -5844,7 +5844,8 @@ html:not(.phone) #editor-navbar.navbar .right a + a, html:not(.phone) #editor-navbar.navbar .left a + a { margin-left: 10px; } -.phone.ios .container-edit .navbar:before { +.phone.ios .container-edit .navbar:before, +.phone.ios .container-collaboration .navbar:before { content: ''; position: absolute; left: 0; @@ -5859,20 +5860,24 @@ html:not(.phone) #editor-navbar.navbar .left a + a { -webkit-transform-origin: 50% 0%; transform-origin: 50% 0%; } -html.pixel-ratio-2 .phone.ios .container-edit .navbar:before { +html.pixel-ratio-2 .phone.ios .container-edit .navbar:before, +html.pixel-ratio-2 .phone.ios .container-collaboration .navbar:before { -webkit-transform: scaleY(0.5); transform: scaleY(0.5); } -html.pixel-ratio-3 .phone.ios .container-edit .navbar:before { +html.pixel-ratio-3 .phone.ios .container-edit .navbar:before, +html.pixel-ratio-3 .phone.ios .container-collaboration .navbar:before { -webkit-transform: scaleY(0.33); transform: scaleY(0.33); } -.phone.ios .container-edit .page-content .list-block:first-child { +.phone.ios .container-edit .page-content .list-block:first-child, +.phone.ios .container-collaboration .page-content .list-block:first-child { margin-top: -1px; } .container-edit.popover, .container-add.popover, -.container-settings.popover { +.container-settings.popover, +.container-collaboration.popover { width: 360px; } .settings.popup .list-block ul, @@ -6721,6 +6726,11 @@ i.icon.icon-format-otp { height: 30px; background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%2233%22%20height%3D%2233%22%20viewBox%3D%220%200%2033%2033%22%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip-otp%22%3E%3Crect%20width%3D%2233%22%20height%3D%2233%22%2F%3E%3C%2FclipPath%3E%3Cstyle%3E.cls-1%7Bfill%3A%23aa5252%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22otp%22%20clip-path%3D%22url(%23clip-otp)%22%3E%3Crect%20id%3D%22Rectangle_20%22%20data-name%3D%22Rectangle%2020%22%20width%3D%2233%22%20height%3D%2233%22%20fill%3D%22none%22%2F%3E%3Cpath%20id%3D%22Path_33%22%20data-name%3D%22Path%2033%22%20d%3D%22M125.173%2C121h0c-.046-.03-.093-.059-.141-.088a6.133%2C6.133%2C0%2C0%2C0-2.467-.869%2C6.014%2C6.014%2C0%2C0%2C0-4.309%2C1.188%2C6.223%2C6.223%2C0%2C0%2C0-2.892-1.147%2C5.965%2C5.965%2C0%2C0%2C0-4.039%2C1l-.036.024a.176.176%2C0%2C0%2C0-.049.125.145.145%2C0%2C0%2C0%2C.126.158l.019%2C0a.019.019%2C0%2C0%2C0%2C.009%2C0%2C5.781%2C5.781%2C0%2C0%2C1%2C2.005-.111%2C6.41%2C6.41%2C0%2C0%2C1%2C4.782%2C2.669c.06.081.115.076.178%2C0a6.288%2C6.288%2C0%2C0%2C1%2C6.194-2.735c.136.017.27.038.4.064.047.009.119.024.161.03.08.011.123-.071.123-.159A.155.155%2C0%2C0%2C0%2C125.173%2C121Z%22%20transform%3D%22translate(-94.24%20-116)%22%20class%3D%22cls-1%22%2F%3E%3Cpath%20id%3D%22Path_34%22%20data-name%3D%22Path%2034%22%20d%3D%22M126.894%2C125.978a.175.175%2C0%2C0%2C0-.022-.011%2C11.686%2C11.686%2C0%2C0%2C0-4.905-1.082%2C11.924%2C11.924%2C0%2C0%2C0-7.444%2C2.647%2C11.725%2C11.725%2C0%2C0%2C0-5.251-1.245%2C11.884%2C11.884%2C0%2C0%2C0-7.176%2C2.441.229.229%2C0%2C0%2C0-.022.016.217.217%2C0%2C0%2C0-.073.167.2.2%2C0%2C0%2C0%2C.191.211.167.167%2C0%2C0%2C0%2C.037%2C0%2C.118.118%2C0%2C0%2C0%2C.023-.008%2C11.679%2C11.679%2C0%2C0%2C1%2C3.71-.608c3.429%2C0%2C6.486.9%2C8.787%2C3.315a.093.093%2C0%2C0%2C1%2C.016.016.172.172%2C0%2C0%2C0%2C.123.052.18.18%2C0%2C0%2C0%2C.147-.078s.075-.115.111-.171a12.1%2C12.1%2C0%2C0%2C1%2C10.479-5.315c.306%2C0%2C.611.014.912.037l.273.022a.2.2%2C0%2C0%2C0%2C.191-.211A.211.211%2C0%2C0%2C0%2C126.894%2C125.978Z%22%20transform%3D%22translate(-100%20-115.885)%22%20class%3D%22cls-1%22%2F%3E%3Cg%20id%3D%22Group_5%22%20data-name%3D%22Group%205%22%20transform%3D%22translate(16%2016)%22%3E%3Cpath%20id%3D%22Path_44%22%20data-name%3D%22Path%2044%22%20d%3D%22M1.011%2C0H13.989A1.011%2C1.011%2C0%2C0%2C1%2C15%2C1.011V13.989A1.011%2C1.011%2C0%2C0%2C1%2C13.989%2C15H1.011A1.011%2C1.011%2C0%2C0%2C1%2C0%2C13.989V1.011A1.011%2C1.011%2C0%2C0%2C1%2C1.011%2C0Z%22%20class%3D%22cls-1%22%2F%3E%3Cpath%20id%3D%22Path_39%22%20data-name%3D%22Path%2039%22%20d%3D%22M5.794%2C13.25V3.911H9.258V2.25h-9V3.911H3.729V13.25Z%22%20transform%3D%22translate(2.742%20-0.25)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); } +i.icon.icon-collaboration { + width: 24px; + height: 24px; + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M15.9912%206C15.9912%208.34102%2015.4074%2010.1346%2014.6055%2011.3121C13.7983%2012.4974%2012.8249%2013%2011.9912%2013C11.1575%2013%2010.1841%2012.4974%209.37695%2011.3121C8.57501%2010.1346%207.99121%208.34102%207.99121%206C7.99121%203.61508%209.96974%202%2011.9912%202C14.0127%202%2015.9912%203.61508%2015.9912%206ZM14.5015%2012.9506C13.7365%2013.6361%2012.8649%2014%2011.9912%2014C11.1195%2014%2010.2499%2013.6378%209.48619%2012.9554C7.78363%2013.6081%206.36015%2014.2591%205.26963%2014.9224C3.55256%2015.9667%203%2016.8326%203%2017.5C3%2018.2545%203.4257%2019.0877%204.82302%2019.7879C6.25015%2020.5031%208.57272%2020.9999%2012%2021C15.4273%2021%2017.7499%2020.5031%2019.177%2019.7879C20.5743%2019.0877%2021%2018.2545%2021%2017.5C21%2016.8326%2020.4474%2015.9667%2018.7304%2014.9224C17.6372%2014.2575%2016.2095%2013.605%2014.5015%2012.9506ZM15.2272%2012.1594C16.2765%2010.7825%2016.9912%208.67814%2016.9912%206C16.9912%203%2014.5%201%2011.9912%201C9.48242%201%206.99121%203%206.99121%206C6.99121%208.68159%207.70777%2010.7879%208.75931%2012.1647C4.60309%2013.7964%202%2015.4951%202%2017.5C2%2019.9852%205%2021.9999%2012%2022C19%2022%2022%2019.9852%2022%2017.5C22%2015.4929%2019.3913%2013.7927%2015.2272%2012.1594Z%22%20fill%3D%22%23aa5252%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} .label-switch input[type="checkbox"]:checked + .checkbox { background: #aa5252; } @@ -6838,3 +6848,26 @@ html.pixel-ratio-3 .numbers li { max-height: 100%; overflow: auto; } +#user-list .item-content { + padding-left: 0; +} +#user-list .item-inner { + justify-content: flex-start; + padding-left: 15px; +} +#user-list .length { + margin-left: 4px; +} +#user-list .color { + min-width: 40px; + min-height: 40px; + margin-right: 20px; + text-align: center; + border-radius: 50px; + line-height: 40px; + color: #373737; + font-weight: 500; +} +#user-list ul:before { + content: none; +} diff --git a/apps/presentationeditor/mobile/resources/css/app-material.css b/apps/presentationeditor/mobile/resources/css/app-material.css index 5944bbcba..cd4db0e18 100644 --- a/apps/presentationeditor/mobile/resources/css/app-material.css +++ b/apps/presentationeditor/mobile/resources/css/app-material.css @@ -5628,12 +5628,14 @@ a.item-link, [disabled] [disabled] { opacity: 1; } -.phone.android .container-edit .page-content .list-block:first-child { +.phone.android .container-edit .page-content .list-block:first-child, +.phone.android .container-collaboration .page-content .list-block:first-child { margin-top: -1px; } .container-edit.popover, .container-add.popover, -.container-settings.popover { +.container-settings.popover, +.container-collaboration.popover { width: 360px; } .settings.popup .list-block, @@ -6259,6 +6261,11 @@ i.icon.icon-format-otp { height: 30px; background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%2233%22%20height%3D%2233%22%20viewBox%3D%220%200%2033%2033%22%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip-otp%22%3E%3Crect%20width%3D%2233%22%20height%3D%2233%22%2F%3E%3C%2FclipPath%3E%3Cstyle%3E.cls-1%7Bfill%3A%23aa5252%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22otp%22%20clip-path%3D%22url(%23clip-otp)%22%3E%3Crect%20id%3D%22Rectangle_20%22%20data-name%3D%22Rectangle%2020%22%20width%3D%2233%22%20height%3D%2233%22%20fill%3D%22none%22%2F%3E%3Cpath%20id%3D%22Path_33%22%20data-name%3D%22Path%2033%22%20d%3D%22M125.173%2C121h0c-.046-.03-.093-.059-.141-.088a6.133%2C6.133%2C0%2C0%2C0-2.467-.869%2C6.014%2C6.014%2C0%2C0%2C0-4.309%2C1.188%2C6.223%2C6.223%2C0%2C0%2C0-2.892-1.147%2C5.965%2C5.965%2C0%2C0%2C0-4.039%2C1l-.036.024a.176.176%2C0%2C0%2C0-.049.125.145.145%2C0%2C0%2C0%2C.126.158l.019%2C0a.019.019%2C0%2C0%2C0%2C.009%2C0%2C5.781%2C5.781%2C0%2C0%2C1%2C2.005-.111%2C6.41%2C6.41%2C0%2C0%2C1%2C4.782%2C2.669c.06.081.115.076.178%2C0a6.288%2C6.288%2C0%2C0%2C1%2C6.194-2.735c.136.017.27.038.4.064.047.009.119.024.161.03.08.011.123-.071.123-.159A.155.155%2C0%2C0%2C0%2C125.173%2C121Z%22%20transform%3D%22translate(-94.24%20-116)%22%20class%3D%22cls-1%22%2F%3E%3Cpath%20id%3D%22Path_34%22%20data-name%3D%22Path%2034%22%20d%3D%22M126.894%2C125.978a.175.175%2C0%2C0%2C0-.022-.011%2C11.686%2C11.686%2C0%2C0%2C0-4.905-1.082%2C11.924%2C11.924%2C0%2C0%2C0-7.444%2C2.647%2C11.725%2C11.725%2C0%2C0%2C0-5.251-1.245%2C11.884%2C11.884%2C0%2C0%2C0-7.176%2C2.441.229.229%2C0%2C0%2C0-.022.016.217.217%2C0%2C0%2C0-.073.167.2.2%2C0%2C0%2C0%2C.191.211.167.167%2C0%2C0%2C0%2C.037%2C0%2C.118.118%2C0%2C0%2C0%2C.023-.008%2C11.679%2C11.679%2C0%2C0%2C1%2C3.71-.608c3.429%2C0%2C6.486.9%2C8.787%2C3.315a.093.093%2C0%2C0%2C1%2C.016.016.172.172%2C0%2C0%2C0%2C.123.052.18.18%2C0%2C0%2C0%2C.147-.078s.075-.115.111-.171a12.1%2C12.1%2C0%2C0%2C1%2C10.479-5.315c.306%2C0%2C.611.014.912.037l.273.022a.2.2%2C0%2C0%2C0%2C.191-.211A.211.211%2C0%2C0%2C0%2C126.894%2C125.978Z%22%20transform%3D%22translate(-100%20-115.885)%22%20class%3D%22cls-1%22%2F%3E%3Cg%20id%3D%22Group_5%22%20data-name%3D%22Group%205%22%20transform%3D%22translate(16%2016)%22%3E%3Cpath%20id%3D%22Path_44%22%20data-name%3D%22Path%2044%22%20d%3D%22M1.011%2C0H13.989A1.011%2C1.011%2C0%2C0%2C1%2C15%2C1.011V13.989A1.011%2C1.011%2C0%2C0%2C1%2C13.989%2C15H1.011A1.011%2C1.011%2C0%2C0%2C1%2C0%2C13.989V1.011A1.011%2C1.011%2C0%2C0%2C1%2C1.011%2C0Z%22%20class%3D%22cls-1%22%2F%3E%3Cpath%20id%3D%22Path_39%22%20data-name%3D%22Path%2039%22%20d%3D%22M5.794%2C13.25V3.911H9.258V2.25h-9V3.911H3.729V13.25Z%22%20transform%3D%22translate(2.742%20-0.25)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); } +i.icon.icon-collaboration { + width: 24px; + height: 24px; + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M15.9912%206C15.9912%208.34102%2015.4074%2010.1346%2014.6055%2011.3121C13.7983%2012.4974%2012.8249%2013%2011.9912%2013C11.1575%2013%2010.1841%2012.4974%209.37695%2011.3121C8.57501%2010.1346%207.99121%208.34102%207.99121%206C7.99121%203.61508%209.96974%202%2011.9912%202C14.0127%202%2015.9912%203.61508%2015.9912%206ZM14.5015%2012.9506C13.7365%2013.6361%2012.8649%2014%2011.9912%2014C11.1195%2014%2010.2499%2013.6378%209.48619%2012.9554C7.78363%2013.6081%206.36015%2014.2591%205.26963%2014.9224C3.55256%2015.9667%203%2016.8326%203%2017.5C3%2018.2545%203.4257%2019.0877%204.82302%2019.7879C6.25015%2020.5031%208.57272%2020.9999%2012%2021C15.4273%2021%2017.7499%2020.5031%2019.177%2019.7879C20.5743%2019.0877%2021%2018.2545%2021%2017.5C21%2016.8326%2020.4474%2015.9667%2018.7304%2014.9224C17.6372%2014.2575%2016.2095%2013.605%2014.5015%2012.9506ZM15.2272%2012.1594C16.2765%2010.7825%2016.9912%208.67814%2016.9912%206C16.9912%203%2014.5%201%2011.9912%201C9.48242%201%206.99121%203%206.99121%206C6.99121%208.68159%207.70777%2010.7879%208.75931%2012.1647C4.60309%2013.7964%202%2015.4951%202%2017.5C2%2019.9852%205%2021.9999%2012%2022C19%2022%2022%2019.9852%2022%2017.5C22%2015.4929%2019.3913%2013.7927%2015.2272%2012.1594Z%22%20fill%3D%22%23aa5252%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} .navbar i.icon.icon-undo { width: 22px; height: 22px; @@ -6314,6 +6321,11 @@ i.icon.icon-format-otp { height: 22px; background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%2022%2022%22%20fill%3D%22%23fff%22%3E%3Cg%3E%3Cpolygon%20points%3D%2210.9%2C16.9%202%2C8.1%204.1%2C6%2011.1%2C12.8%2017.9%2C6%2020%2C8.1%2011.2%2C16.9%2011.1%2C17%20%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); } +.navbar i.icon.icon-collaboration { + width: 24px; + height: 24px; + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M14.9912%206C14.9912%208.18203%2014.4464%209.76912%2013.7789%2010.7492C13.101%2011.7447%2012.4042%2012%2011.9912%2012C11.5782%2012%2010.8814%2011.7447%2010.2035%2010.7492C9.53601%209.76912%208.99121%208.18203%208.99121%206C8.99121%204.23017%2010.4571%203%2011.9912%203C13.5254%203%2014.9912%204.23017%2014.9912%206ZM13.4917%2013.6397C13.0059%2013.8771%2012.4989%2014%2011.9912%2014C11.4861%2014%2010.9817%2013.8784%2010.4983%2013.6434C8.53188%2014.3681%206.94518%2015.0737%205.78927%2015.7768C4.10512%2016.8011%204%2017.4079%204%2017.5C4%2017.7664%204.1014%2018.3077%205.27104%2018.8939C6.50029%2019.5099%208.64545%2019.9999%2012%2020C15.3546%2020%2017.4997%2019.5099%2018.7289%2018.8939C19.8986%2018.3078%2020%2017.7664%2020%2017.5C20%2017.4079%2019.8949%2016.8011%2018.2107%2015.7768C17.0529%2015.0726%2015.4627%2014.3657%2013.4917%2013.6397ZM15.2272%2012.1594C16.2765%2010.7825%2016.9912%208.67814%2016.9912%206C16.9912%203%2014.5%201%2011.9912%201C9.48242%201%206.99121%203%206.99121%206C6.99121%208.68159%207.70777%2010.7879%208.75931%2012.1647C4.60309%2013.7964%202%2015.4951%202%2017.5C2%2019.9852%205%2021.9999%2012%2022C19%2022%2022%2019.9852%2022%2017.5C22%2015.4929%2019.3913%2013.7927%2015.2272%2012.1594Z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E"); +} .sailfish i.icon.icon-text-align-center { background-color: transparent; -webkit-mask-image: none; @@ -6667,3 +6679,26 @@ html.pixel-ratio-3 .numbers li { max-height: 100%; overflow: auto; } +#user-list .item-content { + padding-left: 0; +} +#user-list .item-inner { + justify-content: flex-start; + padding-left: 15px; +} +#user-list .length { + margin-left: 4px; +} +#user-list .color { + min-width: 40px; + min-height: 40px; + margin-right: 20px; + text-align: center; + border-radius: 50px; + line-height: 40px; + color: #373737; + font-weight: 400; +} +#user-list ul:before { + content: none; +} diff --git a/apps/presentationeditor/mobile/resources/less/app-ios.less b/apps/presentationeditor/mobile/resources/less/app-ios.less index f81800cda..2ac567445 100644 --- a/apps/presentationeditor/mobile/resources/less/app-ios.less +++ b/apps/presentationeditor/mobile/resources/less/app-ios.less @@ -243,4 +243,34 @@ input, textarea { .modal.modal-in { max-height: 100%; overflow: auto; +} + +//Edit users +@initialEditUser: #373737; + +#user-list { + .item-content { + padding-left: 0; + } + .item-inner { + justify-content: flex-start; + padding-left: 15px; + } + .length { + margin-left: 4px; + } + .color { + min-width: 40px; + min-height: 40px; + margin-right: 20px; + text-align: center; + border-radius: 50px; + line-height: 40px; + color: @initialEditUser; + font-weight: 500; + + } + ul:before { + content: none; + } } \ No newline at end of file diff --git a/apps/presentationeditor/mobile/resources/less/app-material.less b/apps/presentationeditor/mobile/resources/less/app-material.less index 4b29b3d90..604bfa755 100644 --- a/apps/presentationeditor/mobile/resources/less/app-material.less +++ b/apps/presentationeditor/mobile/resources/less/app-material.less @@ -231,4 +231,33 @@ input, textarea { .modal.modal-in { max-height: 100%; overflow: auto; +} + +//Edit users +@initialEditUser: #373737; + +#user-list { + .item-content { + padding-left: 0; + } + .item-inner { + justify-content: flex-start; + padding-left: 15px; + } + .length { + margin-left: 4px; + } + .color { + min-width: 40px; + min-height: 40px; + margin-right: 20px; + text-align: center; + border-radius: 50px; + line-height: 40px; + color: @initialEditUser; + font-weight: 400; + } + ul:before { + content: none; + } } \ No newline at end of file diff --git a/apps/presentationeditor/mobile/resources/less/ios/_icons.less b/apps/presentationeditor/mobile/resources/less/ios/_icons.less index 1fe7bafa3..53dc85dfe 100644 --- a/apps/presentationeditor/mobile/resources/less/ios/_icons.less +++ b/apps/presentationeditor/mobile/resources/less/ios/_icons.less @@ -398,4 +398,11 @@ i.icon { height: 30px; .encoded-svg-background(''); } + + // Collaboration + &.icon-collaboration { + width: 24px; + height: 24px; + .encoded-svg-background(''); + } } \ No newline at end of file diff --git a/apps/presentationeditor/mobile/resources/less/material/_icons.less b/apps/presentationeditor/mobile/resources/less/material/_icons.less index f0624b6a0..642284080 100644 --- a/apps/presentationeditor/mobile/resources/less/material/_icons.less +++ b/apps/presentationeditor/mobile/resources/less/material/_icons.less @@ -368,6 +368,13 @@ i.icon { height: 30px; .encoded-svg-background(''); } + + // Collaboration + &.icon-collaboration { + width: 24px; + height: 24px; + .encoded-svg-background(''); + } } // Overwrite color for toolbar @@ -428,5 +435,10 @@ i.icon { height: 22px; .encoded-svg-background(''); } + &.icon-collaboration { + width: 24px; + height: 24px; + .encoded-svg-background(''); + } } } \ No newline at end of file diff --git a/apps/spreadsheeteditor/mobile/app-dev.js b/apps/spreadsheeteditor/mobile/app-dev.js index 46f60ba41..e4796fe28 100644 --- a/apps/spreadsheeteditor/mobile/app-dev.js +++ b/apps/spreadsheeteditor/mobile/app-dev.js @@ -133,6 +133,7 @@ require([ ,'AddShape' ,'AddOther' ,'AddLink' + ,'Collaboration' ] }); @@ -203,6 +204,7 @@ require([ ,'spreadsheeteditor/mobile/app/controller/add/AddShape' ,'spreadsheeteditor/mobile/app/controller/add/AddOther' ,'spreadsheeteditor/mobile/app/controller/add/AddLink' + ,'spreadsheeteditor/mobile/app/controller/Collaboration' ], function() { window.compareVersions = true; app.start(); diff --git a/apps/spreadsheeteditor/mobile/app.js b/apps/spreadsheeteditor/mobile/app.js index 20dc8d749..53644603d 100644 --- a/apps/spreadsheeteditor/mobile/app.js +++ b/apps/spreadsheeteditor/mobile/app.js @@ -144,6 +144,7 @@ require([ ,'AddShape' ,'AddOther' ,'AddLink' + ,'Collaboration' ] }); @@ -214,6 +215,7 @@ require([ ,'spreadsheeteditor/mobile/app/controller/add/AddShape' ,'spreadsheeteditor/mobile/app/controller/add/AddOther' ,'spreadsheeteditor/mobile/app/controller/add/AddLink' + ,'spreadsheeteditor/mobile/app/controller/Collaboration' ], function() { app.start(); }); diff --git a/apps/spreadsheeteditor/mobile/app/controller/Collaboration.js b/apps/spreadsheeteditor/mobile/app/controller/Collaboration.js new file mode 100644 index 000000000..2e98a912e --- /dev/null +++ b/apps/spreadsheeteditor/mobile/app/controller/Collaboration.js @@ -0,0 +1,217 @@ +/* + * + * (c) Copyright Ascensio System SIA 2010-2019 + * + * This program is a free software product. You can redistribute it and/or + * modify it under the terms of the GNU Affero General Public License (AGPL) + * version 3 as published by the Free Software Foundation. In accordance with + * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect + * that Ascensio System SIA expressly excludes the warranty of non-infringement + * of any third-party rights. + * + * This program is distributed WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For + * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html + * + * You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha + * street, Riga, Latvia, EU, LV-1050. + * + * The interactive user interfaces in modified source and object code versions + * of the Program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU AGPL version 3. + * + * Pursuant to Section 7(b) of the License you must retain the original Product + * logo when distributing the program. Pursuant to Section 7(e) we decline to + * grant you any rights under trademark law for use of our trademarks. + * + * All the Product's GUI elements, including illustrations and icon sets, as + * well as technical writing content are licensed under the terms of the + * Creative Commons Attribution-ShareAlike 4.0 International. See the License + * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + * + */ + +/** + * Collaboration.js + * Spreadsheet Editor + * + * Created by Julia Svinareva on 4/6/19 + * Copyright (c) 2019 Ascensio System SIA. All rights reserved. + * + */ +define([ + 'core', + 'jquery', + 'underscore', + 'backbone', + 'spreadsheeteditor/mobile/app/view/Collaboration' +], function (core, $, _, Backbone) { + 'use strict'; + + SSE.Controllers.Collaboration = Backbone.Controller.extend(_.extend((function() { + // Private + var rootView, + _userId, + editUsers = []; + + return { + models: [], + collections: [], + views: [ + 'Collaboration' + ], + + initialize: function() { + var me = this; + me.addListeners({ + 'Collaboration': { + 'page:show' : me.onPageShow + } + }); + }, + + setApi: function(api) { + this.api = api; + this.api.asc_registerCallback('asc_onAuthParticipantsChanged', _.bind(this.onChangeEditUsers, this)); + this.api.asc_registerCallback('asc_onParticipantsChanged', _.bind(this.onChangeEditUsers, this)); + }, + + onLaunch: function () { + this.createView('Collaboration').render(); + }, + + setMode: function(mode) { + this.appConfig = mode; + _userId = mode.user.id; + return this; + }, + + + showModal: function() { + var me = this, + isAndroid = Framework7.prototype.device.android === true, + modalView, + mainView = SSE.getController('Editor').getView('Editor').f7View; + + uiApp.closeModal(); + + if (Common.SharedSettings.get('phone')) { + modalView = $$(uiApp.pickerModal( + '
      ' + + '' + + '
      ' + )).on('opened', function () { + if (_.isFunction(me.api.asc_OnShowContextMenu)) { + me.api.asc_OnShowContextMenu() + } + }).on('close', function (e) { + mainView.showNavbar(); + }).on('closed', function () { + if (_.isFunction(me.api.asc_OnHideContextMenu)) { + me.api.asc_OnHideContextMenu() + } + }); + mainView.hideNavbar(); + } else { + modalView = uiApp.popover( + '
      ' + + '
      ' + + '
      ' + + '
      ' + + '' + + '
      ' + + '
      ' + + '
      ', + $$('#toolbar-collaboration') + ); + } + + if (Framework7.prototype.device.android === true) { + $$('.view.collaboration-root-view.navbar-through').removeClass('navbar-through').addClass('navbar-fixed'); + $$('.view.collaboration-root-view .navbar').prependTo('.view.collaboration-root-view > .pages > .page'); + } + + rootView = uiApp.addView('.collaboration-root-view', { + dynamicNavbar: true, + domCache: true + }); + + Common.NotificationCenter.trigger('collaborationcontainer:show'); + this.onPageShow(this.getView('Collaboration')); + + SSE.getController('Toolbar').getView('Toolbar').hideSearch(); + }, + + rootView : function() { + return rootView; + }, + + onPageShow: function(view, pageId) { + var me = this; + + if('#edit-users-view' == pageId) { + me.initEditUsers(); + Common.Utils.addScrollIfNeed('.page[data-page=edit-users-view]', '.page[data-page=edit-users-view] .page-content'); + } else { + } + }, + + onChangeEditUsers: function(users) { + editUsers = users; + }, + + initEditUsers: function() { + var usersArray = []; + _.each(editUsers, function(item){ + var fio = item.asc_getUserName().split(' '); + var initials = fio[0].substring(0, 1).toUpperCase(); + if (fio.length > 1) { + initials += fio[fio.length - 1].substring(0, 1).toUpperCase(); + } + if(!item.asc_getView()) { + var userAttr = { + color: item.asc_getColor(), + id: item.asc_getId(), + idOriginal: item.asc_getIdOriginal(), + name: item.asc_getUserName(), + view: item.asc_getView(), + initial: initials + }; + if(item.asc_getIdOriginal() == _userId) { + usersArray.unshift(userAttr); + } else { + usersArray.push(userAttr); + } + } + }); + var userSort = _.chain(usersArray).groupBy('idOriginal').value(); + var templateUserItem = _.template([ + '<% _.each(users, function (user) { %>', + '
    • ' + + '
      ' + + '
      <%= user[0].initial %>
      '+ + '' + + '<% if (user.length>1) { %><% } %>' + + '
      '+ + '
    • ', + '<% }); %>'].join('')); + var templateUserList = _.template( + '
      ' + + this.textEditUser + + '
      ' + + '
        ' + + templateUserItem({users: userSort}) + + '
      '); + $('#user-list').html(templateUserList()); + }, + + + textEditUser: 'Document is currently being edited by several users.' + + } + })(), SSE.Controllers.Collaboration || {})) +}); \ No newline at end of file diff --git a/apps/spreadsheeteditor/mobile/app/controller/Main.js b/apps/spreadsheeteditor/mobile/app/controller/Main.js index ad5c33ef8..6bff89d52 100644 --- a/apps/spreadsheeteditor/mobile/app/controller/Main.js +++ b/apps/spreadsheeteditor/mobile/app/controller/Main.js @@ -715,6 +715,8 @@ define([ me.api.asc_registerCallback('asc_onSendThemeColors', _.bind(me.onSendThemeColors, me)); me.api.asc_registerCallback('asc_onDownloadUrl', _.bind(me.onDownloadUrl, me)); } + me.api.asc_registerCallback('asc_onAuthParticipantsChanged', _.bind(me.onAuthParticipantsChanged, me)); + me.api.asc_registerCallback('asc_onParticipantsChanged', _.bind(me.onAuthParticipantsChanged, me)); }, applyModeEditorElements: function() { @@ -729,8 +731,6 @@ define([ /** coauthoring begin **/ me.api.asc_registerCallback('asc_onCollaborativeChanges', _.bind(me.onCollaborativeChanges, me)); me.api.asc_registerCallback('asc_OnTryUndoInFastCollaborative',_.bind(me.onTryUndoInFastCollaborative, me)); - me.api.asc_registerCallback('asc_onAuthParticipantsChanged', _.bind(me.onAuthParticipantsChanged, me)); - me.api.asc_registerCallback('asc_onParticipantsChanged', _.bind(me.onAuthParticipantsChanged, me)); /** coauthoring end **/ if (me.appOptions.isEditDiagram) me.api.asc_registerCallback('asc_onSelectionChanged', _.bind(me.onSelectionChanged, me)); @@ -1339,6 +1339,10 @@ define([ this._state.usersCount = length; }, + returnUserCount: function() { + return this._state.usersCount; + }, + applySettings: function() { if (this.appOptions.isEdit && this.appOptions.canLicense && !this.appOptions.isOffline && this.appOptions.canCoAuthoring) { var value = Common.localStorage.getItem("sse-settings-coauthmode"), diff --git a/apps/spreadsheeteditor/mobile/app/controller/Search.js b/apps/spreadsheeteditor/mobile/app/controller/Search.js index 7640daeff..ddbcbf1f5 100644 --- a/apps/spreadsheeteditor/mobile/app/controller/Search.js +++ b/apps/spreadsheeteditor/mobile/app/controller/Search.js @@ -81,14 +81,15 @@ define([ 'searchbar:show' : this.onSearchbarShow, 'searchbar:hide' : this.onSearchbarHide, 'searchbar:render' : this.onSearchbarRender, - 'searchbar:showsettings': this.onSearchbarSettings + 'searchbar:showsettings': this.onSearchbarSettings, + 'search:highlight' : this.onSearchHighlight } }); }, setApi: function(api) { this.api = api; - this.api.asc_registerCallback('asc_onRenameCellTextEnd', _.bind(this.onRenameText, this)); + this.api.asc_registerCallback('asc_onRenameCellTextEnd', _.bind(this.onReplaceNext, this)); }, setMode: function (mode) { @@ -169,22 +170,40 @@ define([ searchIn = Common.SharedSettings.get('search-in') === 'sheet' ? 'sheet' : 'workbook', isMatchCase = Common.SharedSettings.get('search-match-case') === true, isMatchCell = Common.SharedSettings.get('search-match-cell') === true, + isHighlightRes = Common.SharedSettings.get('search-highlight-res') === true, + searchBy = Common.SharedSettings.get('search-by') === 'rows' ? 'rows' : 'columns', + lookIn = Common.SharedSettings.get('look-in') === 'formulas' ? 'formulas' : 'values', $pageSettings = $('.page[data-page=search-settings]'), $inputType = $pageSettings.find('input[name=search-type]'), $inputSearchIn = $pageSettings.find('input[name=search-in]'), + $inputSearchBy = $pageSettings.find('input[name=search-by]'), $inputMatchCase = $pageSettings.find('#search-match-case input:checkbox'), - $inputMatchCell = $pageSettings.find('#search-match-cell input:checkbox'); + $inputMatchCell = $pageSettings.find('#search-match-cell input:checkbox'), + $inputHighlightResults = $pageSettings.find('#search-highlight-res input:checkbox'), + $inputLookIn = $pageSettings.find('input[name=look-in]'); $inputType.val([isReplace ? 'replace' : 'search']); $inputSearchIn.val([searchIn]); $inputMatchCase.prop('checked', isMatchCase); $inputMatchCell.prop('checked', isMatchCell); + $inputHighlightResults.prop('checked', isHighlightRes); + $inputSearchBy.val([searchBy]); + $inputLookIn.val([lookIn]); // init events $inputType.single('change', _.bind(me.onTypeChange, me)); $inputSearchIn.single('change', _.bind(me.onSearchInChange, me)); + $inputSearchBy.single('change', _.bind(me.onSearchByChange, me)); + $inputLookIn.single('change', _.bind(me.onLookInChange, me)); $inputMatchCase.single('change', _.bind(me.onMatchCaseClick, me)); $inputMatchCell.single('change', _.bind(me.onMatchCellClick, me)); + $inputHighlightResults.single('change', _.bind(me.onHighlightResultsClick, me)); + + if (isReplace) { + Common.SharedSettings.set('look-in', 'formulas'); + $('input[name=look-in]').val(['formulas']); + $('input[name=look-in]:eq(1)').parent().addClass('disabled'); + } }, onSearchbarShow: function(bar) { @@ -242,7 +261,12 @@ define([ }, onReplace: function (btn) { - this.onQueryReplace(this.searchBar.query, this.replaceBar.query); + var me = this; + me.onQueryReplace(me.searchBar.query, me.replaceBar.query ? me.replaceBar.query : ""); + }, + + onReplaceNext: function() { + this.onQuerySearch(this.searchBar.query, 'next'); }, onReplaceAll: function (e) { @@ -270,7 +294,9 @@ define([ onQuerySearch: function(query, direction) { var matchCase = Common.SharedSettings.get('search-match-case') || false, matchCell = Common.SharedSettings.get('search-match-cell') || false, - lookInSheet = Common.SharedSettings.get('search-in') === 'sheet'; + lookInSheet = Common.SharedSettings.get('search-in') === 'sheet', + searchBy = Common.SharedSettings.get('search-by') === 'rows', + lookIn = Common.SharedSettings.get('look-in') === 'formulas'; if (query && query.length) { var options = new Asc.asc_CFindOptions(); @@ -279,8 +305,8 @@ define([ options.asc_setIsMatchCase(matchCase); options.asc_setIsWholeCell(matchCell); options.asc_setScanOnOnlySheet(lookInSheet); - // options.asc_setScanByRows(this.dlgSearch.menuSearch.menu.items[0].checked); - // options.asc_setLookIn(this.dlgSearch.menuLookin.menu.items[0].checked?Asc.c_oAscFindLookIn.Formulas:Asc.c_oAscFindLookIn.Value); + options.asc_setScanByRows(searchBy); + options.asc_setLookIn(lookIn ? Asc.c_oAscFindLookIn.Formulas : Asc.c_oAscFindLookIn.Value); if (!this.api.asc_findText(options)) { var me = this; @@ -299,7 +325,9 @@ define([ onQueryReplace: function(search, replace) { var matchCase = Common.SharedSettings.get('search-match-case') || false, matchCell = Common.SharedSettings.get('search-match-cell') || false, - lookInSheet = Common.SharedSettings.get('search-in') === 'sheet'; + lookInSheet = Common.SharedSettings.get('search-in') === 'sheet', + searchBy = Common.SharedSettings.get('search-by') === 'rows', + lookIn = Common.SharedSettings.get('look-in') === 'formulas'; if (search && search.length) { this.api.isReplaceAll = false; @@ -310,8 +338,8 @@ define([ options.asc_setIsMatchCase(matchCase); options.asc_setIsWholeCell(matchCell); options.asc_setScanOnOnlySheet(lookInSheet); - // options.asc_setScanByRows(this.dlgSearch.menuSearch.menu.items[0].checked); - // options.asc_setLookIn(this.dlgSearch.menuLookin.menu.items[0].checked?Asc.c_oAscFindLookIn.Formulas:Asc.c_oAscFindLookIn.Value); + options.asc_setScanByRows(searchBy); + options.asc_setLookIn(lookIn ? Asc.c_oAscFindLookIn.Formulas : Asc.c_oAscFindLookIn.Value); options.asc_setIsReplaceAll(false); this.api.asc_replaceText(options); @@ -321,7 +349,9 @@ define([ onQueryReplaceAll: function(search, replace) { var matchCase = Common.SharedSettings.get('search-match-case') || false, matchCell = Common.SharedSettings.get('search-match-cell') || false, - lookInSheet = Common.SharedSettings.get('search-in') === 'sheet'; + lookInSheet = Common.SharedSettings.get('search-in') === 'sheet', + searchBy = Common.SharedSettings.get('search-by') === 'rows', + lookIn = Common.SharedSettings.get('look-in') === 'formulas'; if (search && search.length) { this.api.isReplaceAll = true; @@ -332,54 +362,42 @@ define([ options.asc_setIsMatchCase(matchCase); options.asc_setIsWholeCell(matchCell); options.asc_setScanOnOnlySheet(lookInSheet); - // options.asc_setScanByRows(this.dlgSearch.menuSearch.menu.items[0].checked); - // options.asc_setLookIn(this.dlgSearch.menuLookin.menu.items[0].checked?Asc.c_oAscFindLookIn.Formulas:Asc.c_oAscFindLookIn.Value); + options.asc_setScanByRows(searchBy); + options.asc_setLookIn(lookIn ? Asc.c_oAscFindLookIn.Formulas : Asc.c_oAscFindLookIn.Value); options.asc_setIsReplaceAll(true); this.api.asc_replaceText(options); } }, - onRenameText: function(found, replaced) { - if (this.api.isReplaceAll) return; - - var matchCase = Common.SharedSettings.get('search-match-case') || false, - matchCell = Common.SharedSettings.get('search-match-cell') || false, - lookInSheet = Common.SharedSettings.get('search-in') === 'sheet'; - - var options = new Asc.asc_CFindOptions(); - options.asc_setFindWhat(this.searchBar.query); - options.asc_setScanForward(true); - options.asc_setIsMatchCase(matchCase); - options.asc_setIsWholeCell(matchCell); - options.asc_setScanOnOnlySheet(lookInSheet); - // options.asc_setScanByRows(this.dlgSearch.menuSearch.menu.items[0].checked); - // options.asc_setLookIn(this.dlgSearch.menuLookin.menu.items[0].checked?Asc.c_oAscFindLookIn.Formulas:Asc.c_oAscFindLookIn.Value); - - if (!this.api.asc_findText(options)) { - var me = this; - uiApp.alert( - '', - me.textNoTextFound, - function () { - me.searchBar.input.focus(); - } - ); - } - }, - onTypeChange: function (e) { var $target = $(e.currentTarget), isReplace = ($target.val() === 'replace'); Common.SharedSettings.set('search-is-replace', isReplace); $('.searchbar.document').toggleClass('replace', isReplace); + + if (isReplace) { + Common.SharedSettings.set('look-in', 'formulas'); + $('input[name=look-in]').val(['formulas']); + $('input[name=look-in]:eq(1)').parent().addClass('disabled'); + } else { + $('input[name=look-in]:eq(1)').parent().removeClass('disabled'); + } }, onSearchInChange: function (e) { Common.SharedSettings.set('search-in', $(e.currentTarget).val()); }, + onSearchByChange: function(e) { + Common.SharedSettings.set('search-by', $(e.currentTarget).val()); + }, + + onLookInChange: function(e) { + Common.SharedSettings.set('look-in', $(e.currentTarget).val()); + }, + onMatchCaseClick: function (e) { Common.SharedSettings.set('search-match-case', $(e.currentTarget).is(':checked')); }, @@ -388,6 +406,16 @@ define([ Common.SharedSettings.set('search-match-cell', $(e.currentTarget).is(':checked')); }, + onHighlightResultsClick: function (e) { + var value = $(e.currentTarget).is(':checked'); + Common.SharedSettings.set('search-highlight-res', value); + this.api.asc_selectSearchingResults(value); + }, + + onSearchHighlight: function(w, highlight) { + this.api.asc_selectSearchingResults(highlight); + }, + // API handlers textNoTextFound: 'Text not found', diff --git a/apps/spreadsheeteditor/mobile/app/controller/Settings.js b/apps/spreadsheeteditor/mobile/app/controller/Settings.js index 3fafbad3c..3ef1c0f97 100644 --- a/apps/spreadsheeteditor/mobile/app/controller/Settings.js +++ b/apps/spreadsheeteditor/mobile/app/controller/Settings.js @@ -76,7 +76,17 @@ define([ { caption: 'A2', subtitle: Common.Utils.String.format('42{0} x 59,4{0}', txtCm), value: [420, 594] }, { caption: 'A6', subtitle: Common.Utils.String.format('10,5{0} x 14,8{0}', txtCm), value: [105, 148] } ], - _metricText = Common.Utils.Metric.getMetricName(Common.Utils.Metric.getCurrentMetric()) + _metricText = Common.Utils.Metric.getMetricName(Common.Utils.Metric.getCurrentMetric()), + _dataLang = [ + { value: 'en', displayValue: 'English', exampleValue: ' SUM; MIN; MAX; COUNT' }, + { value: 'de', displayValue: 'Deutsch', exampleValue: ' SUMME; MIN; MAX; ANZAHL' }, + { value: 'es', displayValue: 'Spanish', exampleValue: ' SUMA; MIN; MAX; CALCULAR' }, + { value: 'fr', displayValue: 'French', exampleValue: ' SOMME; MIN; MAX; NB' }, + { value: 'it', displayValue: 'Italian', exampleValue: ' SOMMA; MIN; MAX; CONTA.NUMERI' }, + { value: 'ru', displayValue: 'Russian', exampleValue: ' СУММ; МИН; МАКС; СЧЁТ' }, + { value: 'pl', displayValue: 'Polish', exampleValue: ' SUMA; MIN; MAX; ILE.LICZB' } + ], + _indexLang = 0; var mm2Cm = function(mm) { return parseFloat((mm/10.).toFixed(2)); @@ -184,6 +194,7 @@ define([ $('#settings-search').single('click', _.bind(me._onSearch, me)); $(modalView).find('.formats a').single('click', _.bind(me._onSaveFormat, me)); $('#settings-print').single('click', _.bind(me._onPrint, me)); + $('#settings-collaboration').single('click', _.bind(me.onCollaboration, me)); me.initSettings(pageId); }, @@ -204,9 +215,35 @@ define([ me.initSpreadsheetPageSize(); } else if ('#margins-view' == pageId) { me.initSpreadsheetMargins(); + } else if ('#language-formula-view' == pageId) { + me.initFormulaLang(); + } else { + var _userCount = SSE.getController('Main').returnUserCount(); + if (_userCount > 0) { + $('#settings-collaboration').show(); + } } }, + initFormulaLang: function() { + var value = Common.localStorage.getItem('sse-settings-func-lang'); + var item = _.findWhere(_dataLang, {value: value}); + this.getView('Settings').renderFormLang(item ? _dataLang.indexOf(item) : 0, _dataLang); + $('.page[data-page=language-formula-view] input:radio[name=language-formula]').single('change', _.bind(this.onFormulaLangChange, this)); + Common.Utils.addScrollIfNeed('.page[data-page=language-formula-view]', '.page[data-page=language-formula-view] .page-content'); + }, + + onFormulaLangChange: function(e) { + var langValue = $(e.currentTarget).val(); + Common.localStorage.setItem("sse-settings-func-lang", langValue); + this.initPageApplicationSettings(); + SSE.getController('AddFunction').onDocumentReady(); + }, + + onCollaboration: function() { + SSE.getController('Collaboration').showModal(); + }, + initSpreadsheetSettings: function() { var me = this, $pageSpreadsheetSettings = $('.page[data-page=settings-spreadsheet-view]'), @@ -438,6 +475,16 @@ define([ var value = Common.localStorage.getItem('se-mobile-settings-unit'); value = (value!==null) ? parseInt(value) : Common.Utils.Metric.getDefaultMetric(); $unitMeasurement.val([value]); + + //init formula language + value = Common.localStorage.getItem('sse-settings-func-lang'); + var item = _.findWhere(_dataLang, {value: value}); + if(!item) { + item = _dataLang[0]; + } + var $pageLang = $('#language-formula'); + $pageLang.find('.item-title').text(item.displayValue); + $pageLang.find('.item-example').text(item.exampleValue); }, unitMeasurementChange: function (e) { diff --git a/apps/spreadsheeteditor/mobile/app/controller/Toolbar.js b/apps/spreadsheeteditor/mobile/app/controller/Toolbar.js index 60bcad961..8f0ab5c36 100644 --- a/apps/spreadsheeteditor/mobile/app/controller/Toolbar.js +++ b/apps/spreadsheeteditor/mobile/app/controller/Toolbar.js @@ -87,6 +87,8 @@ define([ this.api.asc_registerCallback('asc_onWorksheetLocked', _.bind(this.onApiWorksheetLocked, this)); this.api.asc_registerCallback('asc_onActiveSheetChanged', _.bind(this.onApiActiveSheetChanged, this)); this.api.asc_registerCallback('asc_onCoAuthoringDisconnect', _.bind(this.onCoAuthoringDisconnect, this)); + this.api.asc_registerCallback('asc_onAuthParticipantsChanged', _.bind(this.displayCollaboration, this)) + this.api.asc_registerCallback('asc_onParticipantsChanged', _.bind(this.displayCollaboration, this)); Common.NotificationCenter.on('api:disconnect', _.bind(this.onCoAuthoringDisconnect, this)); Common.NotificationCenter.on('sheet:active', this.onApiActiveSheetChanged.bind(this)); @@ -198,11 +200,11 @@ define([ }, activateControls: function() { - $('#toolbar-settings, #toolbar-search, #document-back, #toolbar-edit-document').removeClass('disabled'); + $('#toolbar-settings, #toolbar-search, #document-back, #toolbar-edit-document, #toolbar-collaboration').removeClass('disabled'); }, activateViewControls: function() { - $('#toolbar-search, #document-back').removeClass('disabled'); + $('#toolbar-search, #document-back, #toolbar-collaboration').removeClass('disabled'); }, deactivateEditControls: function() { @@ -219,6 +221,21 @@ define([ SSE.getController('Settings').hideModal(); }, + displayCollaboration: function(users) { + if(users !== undefined) { + var length = 0; + _.each(users, function (item) { + if (!item.asc_getView()) + length++; + }); + if (length > 0) { + $('#toolbar-collaboration').show(); + } else { + $('#toolbar-collaboration').hide(); + } + } + }, + dlgLeaveTitleText : 'You leave the application', dlgLeaveMsgText : 'You have unsaved changes in this document. Click \'Stay on this Page\' to await the autosave of the document. Click \'Leave this Page\' to discard all the unsaved changes.', leaveButtonText : 'Leave this Page', diff --git a/apps/spreadsheeteditor/mobile/app/controller/add/AddFunction.js b/apps/spreadsheeteditor/mobile/app/controller/add/AddFunction.js index 4efe4024d..6dfa007d8 100644 --- a/apps/spreadsheeteditor/mobile/app/controller/add/AddFunction.js +++ b/apps/spreadsheeteditor/mobile/app/controller/add/AddFunction.js @@ -86,7 +86,8 @@ define([ var me = this; _.defer(function () { - var editorLang = SSE.getController("Main").editorConfig.lang; + var editorLang = Common.localStorage.getItem('sse-settings-func-lang'); + editorLang = (editorLang ? editorLang : 'en').split(/[\-\_]/)[0].toLowerCase(); var localizationFunctions = function(data) { @@ -105,8 +106,8 @@ define([ fillFunctions: function() { var me = this, - functions = {}, - editorLang = SSE.getController("Main").editorConfig.lang; + functions = {}; + var editorLang = Common.localStorage.getItem('sse-settings-func-lang'); editorLang = (editorLang ? editorLang : 'en').split(/[\-\_]/)[0].toLowerCase(); @@ -141,7 +142,7 @@ define([ } } - view.setFunctions(functions); + view.setFunctions(functions, editorLang); view.render(); }; diff --git a/apps/spreadsheeteditor/mobile/app/template/Collaboration.template b/apps/spreadsheeteditor/mobile/app/template/Collaboration.template new file mode 100644 index 000000000..599f0a369 --- /dev/null +++ b/apps/spreadsheeteditor/mobile/app/template/Collaboration.template @@ -0,0 +1,47 @@ + +
      + + +
      + + +
      + +
      +
      +
      +
      +
      +
      +
      +
      +
      \ No newline at end of file diff --git a/apps/spreadsheeteditor/mobile/app/template/Search.template b/apps/spreadsheeteditor/mobile/app/template/Search.template index e12450b88..9b3d5df5c 100644 --- a/apps/spreadsheeteditor/mobile/app/template/Search.template +++ b/apps/spreadsheeteditor/mobile/app/template/Search.template @@ -95,6 +95,52 @@
    +
    <%= scope.textSearchBy %>
    +
    +
      +
    • + +
    • +
    • + +
    • +
    +
    +
    <%= scope.textLookIn %>
    +
    +
      +
    • + +
    • +
    • + +
    • +
    +
    • @@ -123,6 +169,19 @@
    +
  • +
    +
    +
    <%= scope.textHighlightRes %>
    +
    + +
    +
    +
    +
  • diff --git a/apps/spreadsheeteditor/mobile/app/template/Settings.template b/apps/spreadsheeteditor/mobile/app/template/Settings.template index 9c12a707f..476d744cd 100644 --- a/apps/spreadsheeteditor/mobile/app/template/Settings.template +++ b/apps/spreadsheeteditor/mobile/app/template/Settings.template @@ -25,6 +25,18 @@ <% } %> + <% if(phone) {%> +
  • + +
  • + <% } %>
  • @@ -402,7 +414,22 @@
  • -
    +
    +
    <%= scope.textFormulaLanguage %>
    +
    @@ -441,9 +468,9 @@
    <%= scope.textFormat %>
    - + + + +
    + +
    +
    +
    +
    +
      +
    +
    +
    +
    +
    \ No newline at end of file diff --git a/apps/spreadsheeteditor/mobile/app/template/Toolbar.template b/apps/spreadsheeteditor/mobile/app/template/Toolbar.template index 92137c8a0..345205710 100644 --- a/apps/spreadsheeteditor/mobile/app/template/Toolbar.template +++ b/apps/spreadsheeteditor/mobile/app/template/Toolbar.template @@ -42,6 +42,11 @@ <% } %> + <% if (!phone) { %> + + <% } %> diff --git a/apps/spreadsheeteditor/mobile/app/view/Collaboration.js b/apps/spreadsheeteditor/mobile/app/view/Collaboration.js new file mode 100644 index 000000000..be4328c70 --- /dev/null +++ b/apps/spreadsheeteditor/mobile/app/view/Collaboration.js @@ -0,0 +1,149 @@ +/* + * + * (c) Copyright Ascensio System SIA 2010-2019 + * + * This program is a free software product. You can redistribute it and/or + * modify it under the terms of the GNU Affero General Public License (AGPL) + * version 3 as published by the Free Software Foundation. In accordance with + * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect + * that Ascensio System SIA expressly excludes the warranty of non-infringement + * of any third-party rights. + * + * This program is distributed WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For + * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html + * + * You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha + * street, Riga, Latvia, EU, LV-1050. + * + * The interactive user interfaces in modified source and object code versions + * of the Program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU AGPL version 3. + * + * Pursuant to Section 7(b) of the License you must retain the original Product + * logo when distributing the program. Pursuant to Section 7(e) we decline to + * grant you any rights under trademark law for use of our trademarks. + * + * All the Product's GUI elements, including illustrations and icon sets, as + * well as technical writing content are licensed under the terms of the + * Creative Commons Attribution-ShareAlike 4.0 International. See the License + * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + * + */ + +/** + * Collaboration.js + * Presentation Editor + * + * Created by Julia Svinareva on 31/5/19 + * Copyright (c) 2019 Ascensio System SIA. All rights reserved. + * + */ + +define([ + 'text!spreadsheeteditor/mobile/app/template/Collaboration.template', + 'jquery', + 'underscore', + 'backbone' +], function (settingsTemplate, $, _, Backbone) { + 'use strict'; + + SSE.Views.Collaboration = Backbone.View.extend(_.extend((function() { + // private + + return { + + template: _.template(settingsTemplate), + + events: { + // + }, + + initialize: function() { + Common.NotificationCenter.on('collaborationcontainer:show', _.bind(this.initEvents, this)); + this.on('page:show', _.bind(this.updateItemHandlers, this)); + }, + + initEvents: function () { + var me = this; + + Common.Utils.addScrollIfNeed('.view[data-page=collaboration-root-view] .pages', '.view[data-page=collaboration-root-view] .page'); + me.updateItemHandlers(); + }, + + initControls: function() { + // + }, + + // Render layout + render: function() { + this.layout = $('
    ').append(this.template({ + android : Common.SharedSettings.get('android'), + phone : Common.SharedSettings.get('phone'), + orthography: Common.SharedSettings.get('sailfish'), + scope : this + })); + + return this; + }, + + updateItemHandlers: function () { + var selectorsDynamicPage = [ + '.page[data-page=collaboration-root-view]' + ].map(function (selector) { + return selector + ' a.item-link[data-page]'; + }).join(', '); + + $(selectorsDynamicPage).single('click', _.bind(this.onItemClick, this)); + }, + + onItemClick: function (e) { + var $target = $(e.currentTarget), + page = $target.data('page'); + + if (page && page.length > 0 ) { + this.showPage(page); + } + }, + + rootLayout: function () { + if (this.layout) { + var $layour = this.layout.find('#collaboration-root-view'), + isPhone = Common.SharedSettings.get('phone'); + + return $layour.html(); + } + + return ''; + }, + + showPage: function(templateId, animate) { + var rootView = SSE.getController('Collaboration').rootView(); + + if (rootView && this.layout) { + var $content = this.layout.find(templateId); + + // Android fix for navigation + if (Framework7.prototype.device.android) { + $content.find('.page').append($content.find('.navbar')); + } + + rootView.router.load({ + content: $content.html(), + animatePages: animate !== false + }); + + this.fireEvent('page:show', [this, templateId]); + } + }, + + + + textCollaboration: 'Collaboration', + textСomments: 'Сomments', + textBack: 'Back', + textEditUsers: 'Users' + + } + })(), SSE.Views.Collaboration || {})) +}); \ No newline at end of file diff --git a/apps/spreadsheeteditor/mobile/app/view/Search.js b/apps/spreadsheeteditor/mobile/app/view/Search.js index b10a29840..f28ea18d5 100644 --- a/apps/spreadsheeteditor/mobile/app/view/Search.js +++ b/apps/spreadsheeteditor/mobile/app/view/Search.js @@ -155,6 +155,19 @@ define([ me.fireEvent('searchbar:render', me); me.fireEvent('searchbar:show', me); + if(Common.SharedSettings.get('search-highlight-res') === undefined) { + Common.SharedSettings.set('search-highlight-res', true); + } + if (Common.SharedSettings.get('search-highlight-res')) { + this.fireEvent('search:highlight', [this, true]); + } + if(Common.SharedSettings.get('search-by') === undefined) { + Common.SharedSettings.set('search-by', 'rows'); + } + if(Common.SharedSettings.get('look-in') === undefined) { + Common.SharedSettings.set('look-in', 'formulas'); + } + searchBar = $$('.searchbar.document'); _.defer(function() { @@ -188,6 +201,8 @@ define([ uiApp.hideNavbar(searchBar); }, 10); } + + this.fireEvent('search:highlight', [this, false]); }, textFind: 'Find', @@ -199,7 +214,14 @@ define([ textMatchCell: 'Match Cell', textSearchIn: 'Search In', textWorkbook: 'Workbook', - textSheet: 'Sheet' + textSheet: 'Sheet', + textHighlightRes: 'Highlight results', + textByColumns: 'By columns', + textByRows: 'By rows', + textSearchBy: 'Search', + textLookIn: 'Look In', + textFormulas: 'Formulas', + textValues: 'Values' } })(), SSE.Views.Search || {})) }); \ No newline at end of file diff --git a/apps/spreadsheeteditor/mobile/app/view/Settings.js b/apps/spreadsheeteditor/mobile/app/view/Settings.js index 2c0087add..21de71fb8 100644 --- a/apps/spreadsheeteditor/mobile/app/view/Settings.js +++ b/apps/spreadsheeteditor/mobile/app/view/Settings.js @@ -129,6 +129,8 @@ define([ if (isEdit) { $layout.find('#settings-search .item-title').text(this.textFindAndReplace) } else { + $layout.find('#settings-spreadsheet').hide(); + $layout.find('#settings-application').hide(); } if (!canDownload) $layout.find('#settings-download').hide(); if (!canAbout) $layout.find('#settings-about').hide(); @@ -166,6 +168,11 @@ define([ showSetApp: function() { this.showPage('#settings-application-view'); + $('#language-formula').single('click', _.bind(this.showFormulaLanguage, this)); + }, + + showFormulaLanguage: function () { + this.showPage('#language-formula-view'); }, showColorSchemes: function () { @@ -259,6 +266,38 @@ define([ $list.html(items.join('')); }, + renderFormLang: function(indexLang, languages) { + var $pageLang = $('.page[data-page=language-formula-view]'), + $list = $pageLang.find('ul'), + items = [], + textEx = this.textExample; + + _.each(languages, function (lang, index) { + items.push(_.template([ + '
  • ', + '', + '
  • ' + ].join(''))({ + android: Framework7.prototype.device.android, + item: lang, + index: index, + selectIndex: indexLang, + textExamp: textEx + })); + }); + + $list.html(items.join('')); + }, + unknownText: 'Unknown', textFindAndReplace: 'Find and Replace', textSettings: 'Settings', @@ -301,7 +340,10 @@ define([ textTop: 'Top', textLeft: 'Left', textBottom: 'Bottom', - textRight: 'Right' + textRight: 'Right', + textCollaboration: 'Collaboration', + textFormulaLanguage: 'Formula Language', + textExample: 'Example' } })(), SSE.Views.Settings || {})) }); \ No newline at end of file diff --git a/apps/spreadsheeteditor/mobile/app/view/Toolbar.js b/apps/spreadsheeteditor/mobile/app/view/Toolbar.js index 1557a6999..d5bc17b8e 100644 --- a/apps/spreadsheeteditor/mobile/app/view/Toolbar.js +++ b/apps/spreadsheeteditor/mobile/app/view/Toolbar.js @@ -63,7 +63,8 @@ define([ "click #toolbar-edit" : "showEdition", "click #toolbar-add" : "showInserts", "click #toolbar-settings" : "showSettings", - "click #toolbar-edit-document": "editDocument" + "click #toolbar-edit-document": "editDocument", + "click #toolbar-collaboration" : "showCollaboration" }, // Set innerHTML and get the references to the DOM elements @@ -155,6 +156,11 @@ define([ Common.Gateway.requestEditRights(); }, + //Collaboration + showCollaboration: function () { + SSE.getController('Collaboration').showModal(); + }, + textBack: 'Back' } })(), SSE.Views.Toolbar || {})) diff --git a/apps/spreadsheeteditor/mobile/app/view/add/AddFunction.js b/apps/spreadsheeteditor/mobile/app/view/add/AddFunction.js index d4777f34d..412b74035 100644 --- a/apps/spreadsheeteditor/mobile/app/view/add/AddFunction.js +++ b/apps/spreadsheeteditor/mobile/app/view/add/AddFunction.js @@ -109,17 +109,35 @@ define([ quickFunction.caption = me.functions[quickFunction.type].caption }); } + var lang = me.lang; + + this.translatTable = {}; + + var name = '', translate = '', + descriptions = ['DateAndTime', 'Engineering', 'Financial', 'Information', 'Logical', 'LookupAndReference', 'Mathematic', 'Statistical', 'TextAndData' ]; + for (var i=0; i').append(_.template(me.template)({ @@ -134,8 +152,9 @@ define([ return this; }, - setFunctions: function (arr) { + setFunctions: function (arr, lang) { this.functions = arr; + this.lang = lang; }, rootLayout: function () { @@ -202,7 +221,57 @@ define([ sCatLookupAndReference: 'Lookup and Reference', sCatMathematic: 'Math and trigonometry', sCatStatistical: 'Statistical', - sCatTextAndData: 'Text and data' + sCatTextAndData: 'Text and data', + + sCatDateAndTime_ru: 'Дата и время', + sCatEngineering_ru: 'Инженерные', + sCatFinancial_ru: 'Финансовые', + sCatInformation_ru: 'Информационные', + sCatLogical_ru: 'Логические', + sCatLookupAndReference_ru: 'Поиск и ссылки', + sCatMathematic_ru: 'Математические', + sCatStatistical_ru: 'Статистические', + sCatTextAndData_ru: 'Текст и данные', + + sCatLogical_es: 'Lógico', + sCatDateAndTime_es: 'Fecha y hora', + sCatEngineering_es: 'Ingenería', + sCatFinancial_es: 'Financial', + sCatInformation_es: 'Información', + sCatLookupAndReference_es: 'Búsqueda y referencia', + sCatMathematic_es: 'Matemáticas y trigonometría', + sCatStatistical_es: 'Estadístico', + sCatTextAndData_es: 'Texto y datos', + + sCatLogical_fr: 'Logique', + sCatDateAndTime_fr: 'Date et heure', + sCatEngineering_fr: 'Ingénierie', + sCatFinancial_fr: 'Financier', + sCatInformation_fr: 'Information', + sCatLookupAndReference_fr: 'Recherche et référence', + sCatMathematic_fr: 'Maths et trigonométrie', + sCatStatistical_fr: 'Statistiques', + sCatTextAndData_fr: 'Texte et données', + + sCatLogical_pl: 'Logiczny', + sCatDateAndTime_pl: 'Data i czas', + sCatEngineering_pl: 'Inżyniera', + sCatFinancial_pl: 'Finansowe', + sCatInformation_pl: 'Informacja', + sCatLookupAndReference_pl: 'Wyszukiwanie i odniesienie', + sCatMathematic_pl: 'Matematyczne i trygonometryczne', + sCatStatistical_pl: 'Statystyczny', + sCatTextAndData_pl: 'Tekst i data', + + sCatDateAndTime_de: 'Datum und Uhrzeit', + sCatEngineering_de: 'Konstruktion', + sCatFinancial_de: 'Finanzmathematik', + sCatInformation_de: 'Information', + sCatLogical_de: 'Logisch', + sCatLookupAndReference_de: 'Suchen und Bezüge', + sCatMathematic_de: 'Mathematik und Trigonometrie', + sCatStatistical_de: 'Statistik', + sCatTextAndData_de: 'Text und Daten' } })(), SSE.Views.AddFunction || {})); diff --git a/apps/spreadsheeteditor/mobile/locale/en.json b/apps/spreadsheeteditor/mobile/locale/en.json index 0e29df22c..b21985ce2 100644 --- a/apps/spreadsheeteditor/mobile/locale/en.json +++ b/apps/spreadsheeteditor/mobile/locale/en.json @@ -300,6 +300,7 @@ "SSE.Controllers.Toolbar.dlgLeaveTitleText": "You leave the application", "SSE.Controllers.Toolbar.leaveButtonText": "Leave this Page", "SSE.Controllers.Toolbar.stayButtonText": "Stay on this Page", + "SSE.Controllers.Collaboration.textEditUser": "Document is currently being edited by several users.", "SSE.Views.AddFunction.sCatDateAndTime": "Date and time", "SSE.Views.AddFunction.sCatEngineering": "Engineering", "SSE.Views.AddFunction.sCatFinancial": "Financial", @@ -495,6 +496,13 @@ "SSE.Views.Search.textSearchIn": "Search In", "SSE.Views.Search.textSheet": "Sheet", "SSE.Views.Search.textWorkbook": "Workbook", + "SSE.Views.Search.textLookIn": "Look In", + "SSE.Views.Search.textFormulas": "Formulas", + "SSE.Views.Search.textValues": "Values", + "SSE.Views.Search.textByColumns": "By columns", + "SSE.Views.Search.textByRows": "By rows", + "SSE.Views.Search.textSearchBy": "Search", + "SSE.Views.Search.textHighlightRes": "Highlight results", "SSE.Views.Settings.textAbout": "About", "SSE.Views.Settings.textAddress": "address", "SSE.Views.Settings.textAuthor": "Author", @@ -538,5 +546,12 @@ "SSE.Views.Settings.textBottom": "Bottom", "SSE.Views.Settings.textRight": "Right", "SSE.Views.Settings.unknownText": "Unknown", - "SSE.Views.Toolbar.textBack": "Back" + "SSE.Views.Settings.textFormulaLanguage": "Formula Language", + "SSE.Views.Settings.textExample": "Example", + "SSE.Views.Settings.textCollaboration": "Collaboration", + "SSE.Views.Toolbar.textBack": "Back", + "SSE.Views.Collaboration.textCollaboration": "Collaboration", + "SSE.Views.Collaboration.textСomments": "Сomments", + "SSE.Views.Collaboration.textBack": "Back", + "SSE.Views.Collaboration.textEditUsers": "Users" } \ No newline at end of file diff --git a/apps/spreadsheeteditor/mobile/resources/css/app-ios.css b/apps/spreadsheeteditor/mobile/resources/css/app-ios.css index 8b212bfe8..5d26883b1 100644 --- a/apps/spreadsheeteditor/mobile/resources/css/app-ios.css +++ b/apps/spreadsheeteditor/mobile/resources/css/app-ios.css @@ -5844,7 +5844,8 @@ html:not(.phone) #editor-navbar.navbar .right a + a, html:not(.phone) #editor-navbar.navbar .left a + a { margin-left: 10px; } -.phone.ios .container-edit .navbar:before { +.phone.ios .container-edit .navbar:before, +.phone.ios .container-collaboration .navbar:before { content: ''; position: absolute; left: 0; @@ -5859,20 +5860,24 @@ html:not(.phone) #editor-navbar.navbar .left a + a { -webkit-transform-origin: 50% 0%; transform-origin: 50% 0%; } -html.pixel-ratio-2 .phone.ios .container-edit .navbar:before { +html.pixel-ratio-2 .phone.ios .container-edit .navbar:before, +html.pixel-ratio-2 .phone.ios .container-collaboration .navbar:before { -webkit-transform: scaleY(0.5); transform: scaleY(0.5); } -html.pixel-ratio-3 .phone.ios .container-edit .navbar:before { +html.pixel-ratio-3 .phone.ios .container-edit .navbar:before, +html.pixel-ratio-3 .phone.ios .container-collaboration .navbar:before { -webkit-transform: scaleY(0.33); transform: scaleY(0.33); } -.phone.ios .container-edit .page-content .list-block:first-child { +.phone.ios .container-edit .page-content .list-block:first-child, +.phone.ios .container-collaboration .page-content .list-block:first-child { margin-top: -1px; } .container-edit.popover, .container-add.popover, -.container-settings.popover { +.container-settings.popover, +.container-collaboration.popover { width: 360px; } .settings.popup .list-block ul, @@ -6607,6 +6612,11 @@ i.icon.icon-format-csv { height: 30px; background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20viewBox%3D%220%200%2058%2058%22%20height%3D%2258px%22%20width%3D%2258px%22%20y%3D%220px%22%20x%3D%220px%22%20xml%3Aspace%3D%22preserve%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%2340865c%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2242.5%22%20x%3D%2213.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2238.5%22%20x%3D%2213.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2234.5%22%20x%3D%2213.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2230.5%22%20x%3D%2213.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2226.5%22%20x%3D%2213.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2222.5%22%20x%3D%2213.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2218.5%22%20x%3D%2213.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2214.5%22%20x%3D%2213.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2242.5%22%20x%3D%2224.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2238.5%22%20x%3D%2224.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2234.5%22%20x%3D%2224.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2230.5%22%20x%3D%2224.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2226.5%22%20x%3D%2224.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2222.5%22%20x%3D%2224.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2218.5%22%20x%3D%2224.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2214.5%22%20x%3D%2224.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2242.5%22%20x%3D%2235.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2238.5%22%20x%3D%2235.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2234.5%22%20x%3D%2235.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2230.5%22%20x%3D%2235.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2226.5%22%20x%3D%2235.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2222.5%22%20x%3D%2235.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2218.5%22%20x%3D%2235.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2214.5%22%20x%3D%2235.5%22%20%2F%3E%3C%2Fsvg%3E"); } +i.icon.icon-collaboration { + width: 24px; + height: 24px; + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M15.9912%206C15.9912%208.34102%2015.4074%2010.1346%2014.6055%2011.3121C13.7983%2012.4974%2012.8249%2013%2011.9912%2013C11.1575%2013%2010.1841%2012.4974%209.37695%2011.3121C8.57501%2010.1346%207.99121%208.34102%207.99121%206C7.99121%203.61508%209.96974%202%2011.9912%202C14.0127%202%2015.9912%203.61508%2015.9912%206ZM14.5015%2012.9506C13.7365%2013.6361%2012.8649%2014%2011.9912%2014C11.1195%2014%2010.2499%2013.6378%209.48619%2012.9554C7.78363%2013.6081%206.36015%2014.2591%205.26963%2014.9224C3.55256%2015.9667%203%2016.8326%203%2017.5C3%2018.2545%203.4257%2019.0877%204.82302%2019.7879C6.25015%2020.5031%208.57272%2020.9999%2012%2021C15.4273%2021%2017.7499%2020.5031%2019.177%2019.7879C20.5743%2019.0877%2021%2018.2545%2021%2017.5C21%2016.8326%2020.4474%2015.9667%2018.7304%2014.9224C17.6372%2014.2575%2016.2095%2013.605%2014.5015%2012.9506ZM15.2272%2012.1594C16.2765%2010.7825%2016.9912%208.67814%2016.9912%206C16.9912%203%2014.5%201%2011.9912%201C9.48242%201%206.99121%203%206.99121%206C6.99121%208.68159%207.70777%2010.7879%208.75931%2012.1647C4.60309%2013.7964%202%2015.4951%202%2017.5C2%2019.9852%205%2021.9999%2012%2022C19%2022%2022%2019.9852%2022%2017.5C22%2015.4929%2019.3913%2013.7927%2015.2272%2012.1594Z%22%20fill%3D%22%2340865c%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} .chart-types .thumb.bar-normal { background-image: url('../img/charts/chart-03.png'); } @@ -7182,3 +7192,26 @@ html.pixel-ratio-3 .cell-styles.dataview .row li { max-height: 100%; overflow: auto; } +#user-list .item-content { + padding-left: 0; +} +#user-list .item-inner { + justify-content: flex-start; + padding-left: 15px; +} +#user-list .length { + margin-left: 4px; +} +#user-list .color { + min-width: 40px; + min-height: 40px; + margin-right: 20px; + text-align: center; + border-radius: 50px; + line-height: 40px; + color: #373737; + font-weight: 500; +} +#user-list ul:before { + content: none; +} diff --git a/apps/spreadsheeteditor/mobile/resources/css/app-material.css b/apps/spreadsheeteditor/mobile/resources/css/app-material.css index fba0b9dd2..40ea699b9 100644 --- a/apps/spreadsheeteditor/mobile/resources/css/app-material.css +++ b/apps/spreadsheeteditor/mobile/resources/css/app-material.css @@ -5638,12 +5638,14 @@ textarea { -webkit-user-select: text; user-select: text; } -.phone.android .container-edit .page-content .list-block:first-child { +.phone.android .container-edit .page-content .list-block:first-child, +.phone.android .container-collaboration .page-content .list-block:first-child { margin-top: -1px; } .container-edit.popover, .container-add.popover, -.container-settings.popover { +.container-settings.popover, +.container-collaboration.popover { width: 360px; } .settings.popup .list-block, @@ -6247,6 +6249,11 @@ i.icon.icon-format-csv { height: 30px; background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20viewBox%3D%220%200%2058%2058%22%20height%3D%2258px%22%20width%3D%2258px%22%20y%3D%220px%22%20x%3D%220px%22%20xml%3Aspace%3D%22preserve%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%2340865c%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2242.5%22%20x%3D%2213.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2238.5%22%20x%3D%2213.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2234.5%22%20x%3D%2213.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2230.5%22%20x%3D%2213.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2226.5%22%20x%3D%2213.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2222.5%22%20x%3D%2213.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2218.5%22%20x%3D%2213.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2214.5%22%20x%3D%2213.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2242.5%22%20x%3D%2224.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2238.5%22%20x%3D%2224.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2234.5%22%20x%3D%2224.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2230.5%22%20x%3D%2224.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2226.5%22%20x%3D%2224.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2222.5%22%20x%3D%2224.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2218.5%22%20x%3D%2224.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2214.5%22%20x%3D%2224.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2242.5%22%20x%3D%2235.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2238.5%22%20x%3D%2235.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2234.5%22%20x%3D%2235.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2230.5%22%20x%3D%2235.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2226.5%22%20x%3D%2235.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2222.5%22%20x%3D%2235.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2218.5%22%20x%3D%2235.5%22%20%2F%3E%3Crect%20height%3D%221%22%20width%3D%229%22%20class%3D%22cls-1%22%20y%3D%2214.5%22%20x%3D%2235.5%22%20%2F%3E%3C%2Fsvg%3E"); } +i.icon.icon-collaboration { + width: 24px; + height: 24px; + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M15.9912%206C15.9912%208.34102%2015.4074%2010.1346%2014.6055%2011.3121C13.7983%2012.4974%2012.8249%2013%2011.9912%2013C11.1575%2013%2010.1841%2012.4974%209.37695%2011.3121C8.57501%2010.1346%207.99121%208.34102%207.99121%206C7.99121%203.61508%209.96974%202%2011.9912%202C14.0127%202%2015.9912%203.61508%2015.9912%206ZM14.5015%2012.9506C13.7365%2013.6361%2012.8649%2014%2011.9912%2014C11.1195%2014%2010.2499%2013.6378%209.48619%2012.9554C7.78363%2013.6081%206.36015%2014.2591%205.26963%2014.9224C3.55256%2015.9667%203%2016.8326%203%2017.5C3%2018.2545%203.4257%2019.0877%204.82302%2019.7879C6.25015%2020.5031%208.57272%2020.9999%2012%2021C15.4273%2021%2017.7499%2020.5031%2019.177%2019.7879C20.5743%2019.0877%2021%2018.2545%2021%2017.5C21%2016.8326%2020.4474%2015.9667%2018.7304%2014.9224C17.6372%2014.2575%2016.2095%2013.605%2014.5015%2012.9506ZM15.2272%2012.1594C16.2765%2010.7825%2016.9912%208.67814%2016.9912%206C16.9912%203%2014.5%201%2011.9912%201C9.48242%201%206.99121%203%206.99121%206C6.99121%208.68159%207.70777%2010.7879%208.75931%2012.1647C4.60309%2013.7964%202%2015.4951%202%2017.5C2%2019.9852%205%2021.9999%2012%2022C19%2022%2022%2019.9852%2022%2017.5C22%2015.4929%2019.3913%2013.7927%2015.2272%2012.1594Z%22%20fill%3D%22%2340865c%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} .navbar i.icon.icon-undo { width: 22px; height: 22px; @@ -6297,6 +6304,11 @@ i.icon.icon-format-csv { height: 22px; background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%2022%2022%22%20fill%3D%22%23fff%22%3E%3Cg%3E%3Cpolygon%20points%3D%2210.9%2C16.9%202%2C8.1%204.1%2C6%2011.1%2C12.8%2017.9%2C6%2020%2C8.1%2011.2%2C16.9%2011.1%2C17%20%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); } +.navbar i.icon.icon-collaboration { + width: 24px; + height: 24px; + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M14.9912%206C14.9912%208.18203%2014.4464%209.76912%2013.7789%2010.7492C13.101%2011.7447%2012.4042%2012%2011.9912%2012C11.5782%2012%2010.8814%2011.7447%2010.2035%2010.7492C9.53601%209.76912%208.99121%208.18203%208.99121%206C8.99121%204.23017%2010.4571%203%2011.9912%203C13.5254%203%2014.9912%204.23017%2014.9912%206ZM13.4917%2013.6397C13.0059%2013.8771%2012.4989%2014%2011.9912%2014C11.4861%2014%2010.9817%2013.8784%2010.4983%2013.6434C8.53188%2014.3681%206.94518%2015.0737%205.78927%2015.7768C4.10512%2016.8011%204%2017.4079%204%2017.5C4%2017.7664%204.1014%2018.3077%205.27104%2018.8939C6.50029%2019.5099%208.64545%2019.9999%2012%2020C15.3546%2020%2017.4997%2019.5099%2018.7289%2018.8939C19.8986%2018.3078%2020%2017.7664%2020%2017.5C20%2017.4079%2019.8949%2016.8011%2018.2107%2015.7768C17.0529%2015.0726%2015.4627%2014.3657%2013.4917%2013.6397ZM15.2272%2012.1594C16.2765%2010.7825%2016.9912%208.67814%2016.9912%206C16.9912%203%2014.5%201%2011.9912%201C9.48242%201%206.99121%203%206.99121%206C6.99121%208.68159%207.70777%2010.7879%208.75931%2012.1647C4.60309%2013.7964%202%2015.4951%202%2017.5C2%2019.9852%205%2021.9999%2012%2022C19%2022%2022%2019.9852%2022%2017.5C22%2015.4929%2019.3913%2013.7927%2015.2272%2012.1594Z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E"); +} .chart-types .thumb.bar-normal { background-image: url('../img/charts/chart-03.png'); } @@ -7051,4 +7063,26 @@ html.pixel-ratio-3 .cell-styles.dataview .row li { max-height: 100%; overflow: auto; } -/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkU6L1dvcmsvUHJvamVjdHMvV2ViT2ZmaWNlL3dlYi1hcHBzLXByby92ZW5kb3IvZnJhbWV3b3JrNy9zcmMvbGVzcy9tYXRlcmlhbC9pbnRyby5sZXNzIiwiRTovV29yay9Qcm9qZWN0cy9XZWJPZmZpY2Uvd2ViLWFwcHMtcHJvL3ZlbmRvci9mcmFtZXdvcms3L3NyYy9sZXNzL21hdGVyaWFsL2dyaWQubGVzcyIsIkU6L1dvcmsvUHJvamVjdHMvV2ViT2ZmaWNlL3dlYi1hcHBzLXByby92ZW5kb3IvZnJhbWV3b3JrNy9zcmMvbGVzcy9tYXRlcmlhbC9fbWl4aW5zLmxlc3MiLCJFOi9Xb3JrL1Byb2plY3RzL1dlYk9mZmljZS93ZWItYXBwcy1wcm8vdmVuZG9yL2ZyYW1ld29yazcvc3JjL2xlc3MvbWF0ZXJpYWwvdmlld3MubGVzcyIsIkU6L1dvcmsvUHJvamVjdHMvV2ViT2ZmaWNlL3dlYi1hcHBzLXByby92ZW5kb3IvZnJhbWV3b3JrNy9zcmMvbGVzcy9tYXRlcmlhbC9wYWdlcy5sZXNzIiwiRTovV29yay9Qcm9qZWN0cy9XZWJPZmZpY2Uvd2ViLWFwcHMtcHJvL3ZlbmRvci9mcmFtZXdvcms3L3NyYy9sZXNzL21hdGVyaWFsL3Rvb2xiYXJzLmxlc3MiLCJFOi9Xb3JrL1Byb2plY3RzL1dlYk9mZmljZS93ZWItYXBwcy1wcm8vdmVuZG9yL2ZyYW1ld29yazcvc3JjL2xlc3MvbWF0ZXJpYWwvdG9vbGJhcnMtcGFnZXMubGVzcyIsIkU6L1dvcmsvUHJvamVjdHMvV2ViT2ZmaWNlL3dlYi1hcHBzLXByby92ZW5kb3IvZnJhbWV3b3JrNy9zcmMvbGVzcy9tYXRlcmlhbC9zZWFyY2hiYXIubGVzcyIsIkU6L1dvcmsvUHJvamVjdHMvV2ViT2ZmaWNlL3dlYi1hcHBzLXByby92ZW5kb3IvZnJhbWV3b3JrNy9zcmMvbGVzcy9tYXRlcmlhbC9tZXNzYWdlYmFyLmxlc3MiLCJFOi9Xb3JrL1Byb2plY3RzL1dlYk9mZmljZS93ZWItYXBwcy1wcm8vdmVuZG9yL2ZyYW1ld29yazcvc3JjL2xlc3MvbWF0ZXJpYWwvaWNvbnMubGVzcyIsIkU6L1dvcmsvUHJvamVjdHMvV2ViT2ZmaWNlL3dlYi1hcHBzLXByby92ZW5kb3IvZnJhbWV3b3JrNy9zcmMvbGVzcy9tYXRlcmlhbC9iYWRnZXMubGVzcyIsIkU6L1dvcmsvUHJvamVjdHMvV2ViT2ZmaWNlL3dlYi1hcHBzLXByby92ZW5kb3IvZnJhbWV3b3JrNy9zcmMvbGVzcy9tYXRlcmlhbC9jb250ZW50LWJsb2NrLmxlc3MiLCJFOi9Xb3JrL1Byb2plY3RzL1dlYk9mZmljZS93ZWItYXBwcy1wcm8vdmVuZG9yL2ZyYW1ld29yazcvc3JjL2xlc3MvbWF0ZXJpYWwvbGlzdHMubGVzcyIsIkU6L1dvcmsvUHJvamVjdHMvV2ViT2ZmaWNlL3dlYi1hcHBzLXByby92ZW5kb3IvZnJhbWV3b3JrNy9zcmMvbGVzcy9tYXRlcmlhbC9mb3Jtcy5sZXNzIiwiRTovV29yay9Qcm9qZWN0cy9XZWJPZmZpY2Uvd2ViLWFwcHMtcHJvL3ZlbmRvci9mcmFtZXdvcms3L3NyYy9sZXNzL21hdGVyaWFsL2Zsb2F0aW5nLWJ1dHRvbi5sZXNzIiwiRTovV29yay9Qcm9qZWN0cy9XZWJPZmZpY2Uvd2ViLWFwcHMtcHJvL3ZlbmRvci9mcmFtZXdvcms3L3NyYy9sZXNzL21hdGVyaWFsL21vZGFscy5sZXNzIiwiRTovV29yay9Qcm9qZWN0cy9XZWJPZmZpY2Uvd2ViLWFwcHMtcHJvL3ZlbmRvci9mcmFtZXdvcms3L3NyYy9sZXNzL21hdGVyaWFsL3JpcHBsZS5sZXNzIiwiRTovV29yay9Qcm9qZWN0cy9XZWJPZmZpY2Uvd2ViLWFwcHMtcHJvL2FwcHMvY29tbW9uL21vYmlsZS9yZXNvdXJjZXMvbGVzcy9tYXRlcmlhbC9fYnV0dG9uLmxlc3MiLCJFOi9Xb3JrL1Byb2plY3RzL1dlYk9mZmljZS93ZWItYXBwcy1wcm8vdmVuZG9yL2ZyYW1ld29yazcvc3JjL2xlc3MvbWF0ZXJpYWwvcGFuZWxzLmxlc3MiLCJFOi9Xb3JrL1Byb2plY3RzL1dlYk9mZmljZS93ZWItYXBwcy1wcm8vdmVuZG9yL2ZyYW1ld29yazcvc3JjL2xlc3MvbWF0ZXJpYWwvdGFicy5sZXNzIiwiRTovV29yay9Qcm9qZWN0cy9XZWJPZmZpY2Uvd2ViLWFwcHMtcHJvL3ZlbmRvci9mcmFtZXdvcms3L3NyYy9sZXNzL21hdGVyaWFsL21lc3NhZ2VzLmxlc3MiLCJFOi9Xb3JrL1Byb2plY3RzL1dlYk9mZmljZS93ZWItYXBwcy1wcm8vdmVuZG9yL2ZyYW1ld29yazcvc3JjL2xlc3MvbWF0ZXJpYWwvc3RhdHVzYmFyLmxlc3MiLCJFOi9Xb3JrL1Byb2plY3RzL1dlYk9mZmljZS93ZWItYXBwcy1wcm8vdmVuZG9yL2ZyYW1ld29yazcvc3JjL2xlc3MvbWF0ZXJpYWwvcHJlbG9hZGVyLmxlc3MiLCJFOi9Xb3JrL1Byb2plY3RzL1dlYk9mZmljZS93ZWItYXBwcy1wcm8vdmVuZG9yL2ZyYW1ld29yazcvc3JjL2xlc3MvbWF0ZXJpYWwvcHJvZ3Jlc3NiYXIubGVzcyIsIkU6L1dvcmsvUHJvamVjdHMvV2ViT2ZmaWNlL3dlYi1hcHBzLXByby92ZW5kb3IvZnJhbWV3b3JrNy9zcmMvbGVzcy9tYXRlcmlhbC9waWNrZXIubGVzcyIsIkU6L1dvcmsvUHJvamVjdHMvV2ViT2ZmaWNlL3dlYi1hcHBzLXByby92ZW5kb3IvZnJhbWV3b3JrNy9zcmMvbGVzcy9tYXRlcmlhbC9ub3RpZmljYXRpb25zLmxlc3MiLCJFOi9Xb3JrL1Byb2plY3RzL1dlYk9mZmljZS93ZWItYXBwcy1wcm8vdmVuZG9yL2ZyYW1ld29yazcvc3JjL2xlc3MvbWF0ZXJpYWwvZGlzYWJsZWQubGVzcyIsImFwcC1tYXRlcmlhbC5sZXNzIiwiRTovV29yay9Qcm9qZWN0cy9XZWJPZmZpY2Uvd2ViLWFwcHMtcHJvL2FwcHMvY29tbW9uL21vYmlsZS9yZXNvdXJjZXMvbGVzcy9tYXRlcmlhbC9fY29udGFpbmVyLmxlc3MiLCJFOi9Xb3JrL1Byb2plY3RzL1dlYk9mZmljZS93ZWItYXBwcy1wcm8vYXBwcy9jb21tb24vbW9iaWxlL3Jlc291cmNlcy9sZXNzL21hdGVyaWFsL19kYXRhdmlldy5sZXNzIiwiRTovV29yay9Qcm9qZWN0cy9XZWJPZmZpY2Uvd2ViLWFwcHMtcHJvL2FwcHMvY29tbW9uL21vYmlsZS9yZXNvdXJjZXMvbGVzcy9tYXRlcmlhbC9fbGlzdHZpZXcubGVzcyIsIkU6L1dvcmsvUHJvamVjdHMvV2ViT2ZmaWNlL3dlYi1hcHBzLXByby9hcHBzL2NvbW1vbi9tb2JpbGUvcmVzb3VyY2VzL2xlc3MvbWF0ZXJpYWwvX2NvbnRleHRtZW51Lmxlc3MiLCJFOi9Xb3JrL1Byb2plY3RzL1dlYk9mZmljZS93ZWItYXBwcy1wcm8vYXBwcy9jb21tb24vbW9iaWxlL3Jlc291cmNlcy9sZXNzL21hdGVyaWFsL19jb2xvci1wYWxldHRlLmxlc3MiLCJFOi9Xb3JrL1Byb2plY3RzL1dlYk9mZmljZS93ZWItYXBwcy1wcm8vYXBwcy9jb21tb24vbW9iaWxlL3Jlc291cmNlcy9sZXNzL21hdGVyaWFsL19hYm91dC5sZXNzIiwibWF0ZXJpYWwvX3NlYXJjaC5sZXNzIiwibWF0ZXJpYWwvX2ljb25zLmxlc3MiLCJFOi9Xb3JrL1Byb2plY3RzL1dlYk9mZmljZS93ZWItYXBwcy1wcm8vYXBwcy9jb21tb24vbW9iaWxlL3Jlc291cmNlcy9sZXNzL19taXhpbnMubGVzcyIsIkU6L1dvcmsvUHJvamVjdHMvV2ViT2ZmaWNlL3dlYi1hcHBzLXByby9hcHBzL2NvbW1vbi9tb2JpbGUvcmVzb3VyY2VzL2xlc3MvbWF0ZXJpYWwvX3NhaWxmaXNoX2ZpeC5sZXNzIiwiYXBwLWNvbW1vbi5sZXNzIiwiY2VsbGVkaXRvci5sZXNzIiwic3RhdHVzYmFyLmxlc3MiLCJzYWlsZmlzaC1maXgubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQTtBQUFNO0FBQU07RUFDUixrQkFBQTtFQUNBLFlBQUE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7O0FBRUo7RUFDSSx1REFBQTtFQUNBLFNBQUE7RUFDQSxVQUFBO0VBQ0EsY0FBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtFQUNB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NEJJO0VBQ0ksa0JBQUE7RUFDQSxTQUFBO0VBQ0EsV0FBQTs7QWQ4Q1IsY0FBYyxPQUFRO0VBQ3BCLGtCQUFBOztBQUVGLGNBQWMsT0FBUSxPQUFPLEVBQUM7QUFDOUIsY0FBYyxPQUFRLE1BQU0sRUFBQztFQUMzQixlQUFBOztBQUtGLFVBRUU7QUFERixVQUNFO0VBQ0Usc0JBQUE7O0FBUUEsYUFERjtBQURGLGFBQ0UsS0FDSztFQUNELG1CQUFBOztBQUhOLGFBT0U7RUFDRSxTQUFBO0VBQ0EsWUFBQTs7QUFUSixhQU9FLEdBSUU7RUFDRSxXQUFBO0VBQ0EsWUFBQTs7QUFPTixPQUNFO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSxhQUFBOztBQUpKLE9BQ0UsR0FLRTtFQUNFLFdBQUE7RUFDQSxZQUFBO0VBQ0EseUJBQUE7O0FBT04sWUFDRTtFQUNFLFdBQUE7RUFDQSxZQUFBO0VBQ0EsV0FBQTs7QUFKSixZQUNFLEdBS0U7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLHdCQUFBOztBQU1OLFlBQVksU0FDVixRQUFPO0VBQ0wsVUFBQTtFQUNBLFdBQUE7O0FBSEosWUFBWSxTQU1WO0VBQ0UsY0FBQTs7QUFQSixZQUFZLFNBTVYsS0FHRTtFQUNFLHFDQUFBO0VBT0EsWUFBQTs7QUFOQSxJQUFJLGNBQWUsYUFYYixTQU1WLEtBR0U7RUFHSSx1Q0FBQTs7QUFFRixJQUFJLGNBQWUsYUFkYixTQU1WLEtBR0U7RUFNSSx3Q0FBQTs7QUFmUixZQUFZLFNBTVYsS0FHRSxHQVVFO0VBQ0UsWUFBQTtFQUNBLFlBQUE7RUFDQSx3QkFBQTs7QUFNUixNQUFNO0VBQ0osZ0JBQUE7RUFDQSxjQUFBIiwic291cmNlc0NvbnRlbnQiOlsiQGltZ0Jhc2VVcmw6IFwiLi4vaW1nXCI7XG5odG1sLCBib2R5LCAuZnJhbWV3b3JrNy1yb290IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cbmJvZHkge1xuICAgIGZvbnQtZmFtaWx5OiBSb2JvdG8sIE5vdG8sIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OjEwMCU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmZyYW1ld29yazctcm9vdCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbioge1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLDAsMCwwKTtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6bm9uZTtcbn1cbmEsIGlucHV0LCB0ZXh0YXJlYSwgc2VsZWN0IHtcbiAgICBvdXRsaW5lOiAwO1xufVxuXG5hIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IEB0aGVtZUNvbG9yO1xufVxucCB7XG4gICAgbWFyZ2luOiAxZW0gMDtcbn0iLCIvKiA9PT0gR3JpZCA9PT0gKi9cbi5yb3cge1xuICAgIC5mbGV4Ym94KCk7XG4gICAgLmp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbiAgICAuZmxleC13cmFwKHdyYXApO1xuICAgIC5hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbiAgICA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG59XG5AY29sczogNSwgMTAsIDE1LCAyMCwgMjUsIDMwLCAxMDAvMywgMzUsIDQwLCA0NSwgNTAsIDU1LCA2MCwgNjUsIDEwMCooMi8zKSwgNzAsIDc1LCA4MCwgODUsIDkwLCA5NSwgMTAwO1xuLnJvdyB7XG4gICAgLmNvbC1hdXRvIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC4tKEBpOiBsZW5ndGgoQGNvbHMpKSB3aGVuIChAaSA+IDApIHtcbiAgICAgICAgQGRpdmlkZXI6IGUoZXh0cmFjdChAY29scywgQGkpKTtcbiAgICAgICAgQGNsYXNzTmFtZTogYE1hdGguZmxvb3IoQHtkaXZpZGVyfSlgO1xuICAgICAgICBAbjogYDEwMC9wYXJzZUZsb2F0KEB7ZGl2aWRlcn0pYDtcbiAgICAgICAgQG4tMTogQG4gLSAxO1xuICAgICAgICAuY29sLUB7Y2xhc3NOYW1lfSB7XG4gICAgICAgICAgICB3aWR0aDogflwiQHtkaXZpZGVyfSVcIjtcbiAgICAgICAgICAgIHdpZHRoOiB+XCItd2Via2l0LWNhbGMoKDEwMCUgLSAxNnB4KkB7bi0xfSkgLyBAe259KVwiOyAgIFxuICAgICAgICAgICAgd2lkdGg6IH5cImNhbGMoKDEwMCUgLSAxNnB4KkB7bi0xfSkgLyBAe259KVwiOyAgIFxuICAgICAgICB9XG4gICAgICAgICYubm8tZ3V0dGVyIHtcbiAgICAgICAgICAgIC5jb2wtQHtjbGFzc05hbWV9IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogflwiQHtkaXZpZGVyfSVcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuLSgoQGkgLSAxKSk7XG4gICAgfSAuLTtcbiAgICAuLS0oQGo6IDEpIHdoZW4gKEBqIDwgbGVuZ3RoKEBjb2xzKSkge1xuICAgICAgICBAZGl2aWRlcjogZShleHRyYWN0KEBjb2xzLCBAaikpO1xuICAgICAgICBAY2xhc3NOYW1lOiBgTWF0aC5mbG9vcihAe2RpdmlkZXJ9KWA7XG4gICAgICAgIC5jb2wtYXV0bzpudGgtbGFzdC1jaGlsZChAe2p9KSwgLmNvbC1hdXRvOm50aC1sYXN0LWNoaWxkKEB7an0pIH4gLmNvbC1hdXRvIHtcbiAgICAgICAgICAgIEBqLTE6IEBqIC0gMTsgIFxuICAgICAgICAgICAgd2lkdGg6IDEwMCUgLyBAajtcbiAgICAgICAgICAgIHdpZHRoOiB+XCItd2Via2l0LWNhbGMoKDEwMCUgLSAxNnB4KkB7ai0xfSkgLyBAe2p9KVwiOyAgIFxuICAgICAgICAgICAgd2lkdGg6IH5cImNhbGMoKDEwMCUgLSAxNnB4KkB7ai0xfSkgLyBAe2p9KVwiOyAgIFxuICAgICAgICB9XG4gICAgICAgICYubm8tZ3V0dGVyIHtcbiAgICAgICAgICAgIC5jb2wtYXV0bzpudGgtbGFzdC1jaGlsZChAe2p9KSwgLmNvbC1hdXRvOm50aC1sYXN0LWNoaWxkKEB7an0pIH4gLmNvbC1hdXRvIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJSAvIEBqO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC4tLSgoQGogKyAxKSk7XG4gICAgfSAuLS07XG4gICAgXG59XG5cbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6NzY4cHgpIHtcbiAgICAucm93IHtcbiAgICAgICAgLi0oQGk6IGxlbmd0aChAY29scykpIHdoZW4gKEBpID4gMCkge1xuICAgICAgICAgICAgQGRpdmlkZXI6IGUoZXh0cmFjdChAY29scywgQGkpKTtcbiAgICAgICAgICAgIEBjbGFzc05hbWU6IGBNYXRoLmZsb29yKEB7ZGl2aWRlcn0pYDtcbiAgICAgICAgICAgIEBuOiBgMTAwL3BhcnNlRmxvYXQoQHtkaXZpZGVyfSlgO1xuICAgICAgICAgICAgQG4tMTogQG4gLSAxO1xuICAgICAgICAgICAgLnRhYmxldC1Ae2NsYXNzTmFtZX0ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiB+XCJAe2RpdmlkZXJ9JVwiO1xuICAgICAgICAgICAgICAgIHdpZHRoOiB+XCItd2Via2l0LWNhbGMoKDEwMCUgLSAxNnB4KkB7bi0xfSkgLyBAe259KVwiOyAgIFxuICAgICAgICAgICAgICAgIHdpZHRoOiB+XCJjYWxjKCgxMDAlIC0gMTZweCpAe24tMX0pIC8gQHtufSlcIjsgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYubm8tZ3V0dGVyIHtcbiAgICAgICAgICAgICAgICAudGFibGV0LUB7Y2xhc3NOYW1lfSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiB+XCJAe2RpdmlkZXJ9JVwiO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC4tKChAaSAtIDEpKTtcbiAgICAgICAgfSAuLTtcbiAgICAgICAgLi0tKEBqOiAxKSB3aGVuIChAaiA8IGxlbmd0aChAY29scykpIHtcbiAgICAgICAgICAgIC50YWJsZXQtYXV0bzpudGgtbGFzdC1jaGlsZChAe2p9KSwgLnRhYmxldC1hdXRvOm50aC1sYXN0LWNoaWxkKEB7an0pIH4gLmNvbC1hdXRvIHtcbiAgICAgICAgICAgICAgICBAai0xOiBAaiAtIDE7ICBcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJSAvIEBqO1xuICAgICAgICAgICAgICAgIHdpZHRoOiB+XCItd2Via2l0LWNhbGMoKDEwMCUgLSAxNnB4KkB7ai0xfSkgLyBAe2p9KVwiOyAgIFxuICAgICAgICAgICAgICAgIHdpZHRoOiB+XCJjYWxjKCgxMDAlIC0gMTZweCpAe2otMX0pIC8gQHtqfSlcIjsgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYubm8tZ3V0dGVyIHtcbiAgICAgICAgICAgICAgICAudGFibGV0LWF1dG86bnRoLWxhc3QtY2hpbGQoQHtqfSksIC50YWJsZXQtYXV0bzpudGgtbGFzdC1jaGlsZChAe2p9KSB+IC50YWJsZXQtYXV0byB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlIC8gQGo7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLi0tKChAaiArIDEpKTtcbiAgICAgICAgfSAuLS07XG4gICAgfVxuXG59XG4iLCIudHJhbnNpdGlvbihAZCkge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogQGQ7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogQGQ7XG59XG4uZGVsYXkoQGQpIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IEBkO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IEBkO1xufVxuLnRyYW5zZm9ybShAdCkge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBAdDtcbiAgICB0cmFuc2Zvcm06IEB0O1xufVxuLnRyYW5zZm9ybS1vcmlnaW4oQHRvKSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBAdG87XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogQHRvO1xufVxuLnRyYW5zbGF0ZTNkKEB4OjAsIEB5OjAsIEB6OjApIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoQHgsQHksQHopO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoQHgsQHksQHopO1xufVxuLmFuaW1hdGlvbihAYSkge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBAYTtcbiAgICBhbmltYXRpb246IEBhO1xufVxuLnNjcm9sbGFibGUoKXtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG4uZmxleGJveCgpIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogZmxleDtcbn1cbi5mbGV4Ym94LWlubGluZSgpIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XG4gICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG59XG4uZmxleC13cmFwKEBmdykgd2hlbiAoQGZ3ID0gbm93cmFwKSB7XG4gICAgLXdlYmtpdC1ib3gtbGluZXM6IHNpbmdsZTtcbiAgICAtbW96LWJveC1saW5lczogc2luZ2xlO1xuICAgIC13ZWJraXQtZmxleC13cmFwOiBub3dyYXA7XG4gICAgLW1zLWZsZXgtd3JhcDogbm9uZTtcbiAgICAtbXMtZmxleC13cmFwOiBub3dyYXA7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG59XG4uZmxleC13cmFwKEBmdykgd2hlbiAoQGZ3ID0gd3JhcCkge1xuICAgIC13ZWJraXQtYm94LWxpbmVzOiBtdWx0aXBsZTtcbiAgICAtbW96LWJveC1saW5lczogbXVsdGlwbGU7XG4gICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gICAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG4uZmxleC13cmFwKEBmdykgd2hlbiBub3QgKEBmdyA9IHdyYXApIGFuZCBub3QgKEBmdyA9IG5vd3JhcCkge1xuICAgIC13ZWJraXQtZmxleC13cmFwOiBAZnc7XG4gICAgLW1zLWZsZXgtd3JhcDogQGZ3O1xuICAgIGZsZXgtd3JhcDogQGZ3O1xufVxuLmZsZXgtc2hyaW5rKEBmcykge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IEBmcztcbiAgICAtd2Via2l0LWZsZXgtc2hyaW5rOiBAZnM7XG4gICAgLW1zLWZsZXg6IDAgQGZzIGF1dG87XG4gICAgZmxleC1zaHJpbms6IEBmcztcbn1cbi5qdXN0aWZ5LWNvbnRlbnQoQGpjKSB3aGVuIChAamMgPSBmbGV4LXN0YXJ0KSB7XG4gICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XG4gICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuLmp1c3RpZnktY29udGVudChAamMpIHdoZW4gKEBqYyA9IGZsZXgtZW5kKSB7XG4gICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xuICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cbi5qdXN0aWZ5LWNvbnRlbnQoQGpjKSB3aGVuIChAamMgPSBzcGFjZS1iZXR3ZWVuKSB7XG4gICAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcbiAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbi5qdXN0aWZ5LWNvbnRlbnQoQGpjKSB3aGVuIG5vdCAoQGpjID0gZmxleC1zdGFydCkgYW5kIG5vdCAoQGpjID0gZmxleC1lbmQpIGFuZCBub3QgKEBqYyA9IHNwYWNlLWJldHdlZW4pIHtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBAamM7XG4gICAgLW1zLWZsZXgtcGFjazogQGpjO1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBAamM7XG4gICAganVzdGlmeS1jb250ZW50OiBAamM7XG59XG4uYWxpZ24taXRlbXMoQGFpKSB3aGVuIChAYWkgPSBmbGV4LXN0YXJ0KSB7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xuICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuLmFsaWduLWl0ZW1zKEBhaSkgd2hlbiAoQGFpID0gZmxleC1lbmQpIHtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogZW5kO1xuICAgIC1tcy1mbGV4LWFsaWduOiBlbmQ7XG4gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuLmFsaWduLWl0ZW1zKEBhaSkgd2hlbiBub3QgKEBhaSA9IGZsZXgtc3RhcnQpIGFuZCBub3QgKEBhaSA9IGZsZXgtZW5kKSB7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IEBhaTtcbiAgICAtbXMtZmxleC1hbGlnbjogQGFpO1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IEBhaTtcbiAgICBhbGlnbi1pdGVtczogQGFpO1xufVxuLmFsaWduLWNvbnRlbnQoQGFpKSB7XG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBAYWk7XG4gICAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiBAYWk7XG4gICAgYWxpZ24tY29udGVudDogQGFpO1xufVxuLmFsaWduLXNlbGYoQGFzKSB7XG4gICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogQGFzO1xuICAgIC13ZWJraXQtYWxpZ24tc2VsZjogQGFzO1xuICAgIGFsaWduLXNlbGY6IEBhcztcbn1cbi5jbGVhcmZpeCgpIHtcbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxufVxuLmhhaXJsaW5lKEBwb3NpdGlvbiwgQGNvbG9yKSB3aGVuIChAcG9zaXRpb24gPSB0b3ApIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3I7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB6LWluZGV4OiAxNTtcbiAgICAgICAgLnRyYW5zZm9ybS1vcmlnaW4oNTAlIDAlKTtcbiAgICAgICAgaHRtbC5waXhlbC1yYXRpby0yICZ7XG4gICAgICAgICAgICAudHJhbnNmb3JtKHNjYWxlWSgwLjUpKTtcbiAgICAgICAgfVxuICAgICAgICBodG1sLnBpeGVsLXJhdGlvLTMgJntcbiAgICAgICAgICAgIC50cmFuc2Zvcm0oc2NhbGVZKDAuMzMpKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi5oYWlybGluZShAcG9zaXRpb24sIEBjb2xvcikgd2hlbiAoQHBvc2l0aW9uID0gbGVmdCkge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHotaW5kZXg6IDE1O1xuICAgICAgICAudHJhbnNmb3JtLW9yaWdpbigwJSA1MCUpO1xuICAgICAgICBodG1sLnBpeGVsLXJhdGlvLTIgJntcbiAgICAgICAgICAgIC50cmFuc2Zvcm0oc2NhbGVYKDAuNSkpO1xuICAgICAgICB9XG4gICAgICAgIGh0bWwucGl4ZWwtcmF0aW8tMyAme1xuICAgICAgICAgICAgLnRyYW5zZm9ybShzY2FsZVgoMC4zMykpO1xuICAgICAgICB9XG4gICAgfVxufVxuLmhhaXJsaW5lKEBwb3NpdGlvbiwgQGNvbG9yKSB3aGVuIChAcG9zaXRpb24gPSBib3R0b20pIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHotaW5kZXg6IDE1O1xuICAgICAgICAudHJhbnNmb3JtLW9yaWdpbig1MCUgMTAwJSk7XG4gICAgICAgIGh0bWwucGl4ZWwtcmF0aW8tMiAme1xuICAgICAgICAgICAgLnRyYW5zZm9ybShzY2FsZVkoMC41KSk7XG4gICAgICAgIH1cbiAgICAgICAgaHRtbC5waXhlbC1yYXRpby0zICZ7XG4gICAgICAgICAgICAudHJhbnNmb3JtKHNjYWxlWSgwLjMzKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4uaGFpcmxpbmUoQHBvc2l0aW9uLCBAY29sb3IpIHdoZW4gKEBwb3NpdGlvbiA9IHJpZ2h0KSB7XG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3I7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB6LWluZGV4OiAxNTtcbiAgICAgICAgLnRyYW5zZm9ybS1vcmlnaW4oMTAwJSA1MCUpO1xuICAgICAgICBodG1sLnBpeGVsLXJhdGlvLTIgJntcbiAgICAgICAgICAgIC50cmFuc2Zvcm0oc2NhbGVYKDAuNSkpO1xuICAgICAgICB9XG4gICAgICAgIGh0bWwucGl4ZWwtcmF0aW8tMyAme1xuICAgICAgICAgICAgLnRyYW5zZm9ybShzY2FsZVgoMC4zMykpO1xuICAgICAgICB9XG4gICAgfVxufVxuLy8gRm9yIHJpZ2h0IGFuZCBib3R0b21cbi5oYWlybGluZS1yZW1vdmUoQHBvc2l0aW9uKSB3aGVuIG5vdCAoQHBvc2l0aW9uID0gbGVmdCkgYW5kIG5vdCAoQHBvc2l0aW9uID0gdG9wKSB7XG4gICAgJjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuLy8gRm9yIGxlZnQgYW5kIHRvcFxuLmhhaXJsaW5lLXJlbW92ZShAcG9zaXRpb24pIHdoZW4gbm90IChAcG9zaXRpb24gPSByaWdodCkgYW5kIG5vdCAoQHBvc2l0aW9uID0gYm90dG9tKSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbi8vIEZvciByaWdodCBhbmQgYm90dG9tXG4uaGFpcmxpbmUtY29sb3IoQHBvc2l0aW9uLCBAY29sb3IpIHdoZW4gbm90IChAcG9zaXRpb24gPSBsZWZ0KSBhbmQgbm90IChAcG9zaXRpb24gPSB0b3ApIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yO1xuICAgIH1cbn1cbi8vIEZvciBsZWZ0IGFuZCB0b3Bcbi5oYWlybGluZS1jb2xvcihAcG9zaXRpb24sIEBjb2xvcikgd2hlbiBub3QgKEBwb3NpdGlvbiA9IHJpZ2h0KSBhbmQgbm90IChAcG9zaXRpb24gPSBib3R0b20pIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvcjtcbiAgICB9XG59XG5cbi8vIEVuY29kZWQgU1ZHIEJhY2tncm91bmRcbi5lbmNvZGVkLXN2Zy1iYWNrZ3JvdW5kKEBzdmcpIHtcbiAgICBAdXJsOiBgZW5jb2RlVVJJQ29tcG9uZW50KEB7c3ZnfSlgO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LEB7dXJsfVwiKTtcbn1cblxuLy8gUHJlc2VydmUzRFxuLnByZXNlcnZlM2QoKSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAgIC1tb3otdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgICAtbXMtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xufVxuXG4vLyBTaGFkb3dcbi5kZXB0aChAbGV2ZWw6MSkge1xuICAgICYgd2hlbiAoQGxldmVsID0gMSkge1xuICAgICAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLDAsMCwwLjEyKSwgMCAxcHggMnB4IHJnYmEoMCwwLDAsMC4yNCk7XG4gICAgfVxuICAgICYgd2hlbiAoQGxldmVsID0gMikge1xuICAgICAgICBib3gtc2hhZG93OiAwIDNweCA2cHggcmdiYSgwLDAsMCwwLjE2KSwgMCAzcHggNnB4IHJnYmEoMCwwLDAsMC4yMyk7XG4gICAgfVxuICAgICYgd2hlbiAoQGxldmVsID0gMykge1xuICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggMjBweCByZ2JhKDAsMCwwLDAuMTkpLCAwIDZweCA2cHggcmdiYSgwLDAsMCwwLjIzKTtcbiAgICB9XG4gICAgJiB3aGVuIChAbGV2ZWwgPSA0KSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMTRweCAyOHB4IHJnYmEoMCwwLDAsMC4yNSksIDAgMTBweCAxMHB4IHJnYmEoMCwwLDAsMC4yMik7XG4gICAgfVxuICAgICYgd2hlbiAoQGxldmVsID0gNSkge1xuICAgICAgICBib3gtc2hhZG93OiAwIDE5cHggMzhweCByZ2JhKDAsMCwwLDAuMzApLCAwIDE1cHggMTJweCByZ2JhKDAsMCwwLDAuMjIpO1xuICAgIH1cbn1cblxuLy8gSGlnaGxpZ2h0ZWQgTGlua3Ncbi5hY3RpdmUtaGlnaGxpZ2h0KEBjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuMTUpKSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDE1MiU7XG4gICAgICAgIGhlaWdodDogMTUyJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAtMjYlO1xuICAgICAgICB0b3A6IC0yNiU7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgY2lyY2xlIGNvdmVyLCBAY29sb3IgNjYlLCByZ2JhKHJlZChAY29sb3IpLGdyZWVuKEBjb2xvciksYmx1ZShAY29sb3IpLDApIDY2JSk7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgY2VudGVyLCBAY29sb3IgNjYlLCByZ2JhKHJlZChAY29sb3IpLGdyZWVuKEBjb2xvciksYmx1ZShAY29sb3IpLDApIDY2JSk7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAudHJhbnNpdGlvbig2MDBtcyk7XG4gICAgfVxuICAgIGh0bWw6bm90KC53YXRjaC1hY3RpdmUtc3RhdGUpICY6YWN0aXZlOmJlZm9yZSwgJi5hY3RpdmUtc3RhdGU6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLnRyYW5zaXRpb24oMTUwbXMpO1xuICAgIH1cbn1cbi5hY3RpdmUtaGlnaGxpZ2h0LWNvbG9yKEBjb2xvcikge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBjaXJjbGUgY292ZXIsIEBjb2xvciA2NiUsIHJnYmEocmVkKEBjb2xvciksZ3JlZW4oQGNvbG9yKSxibHVlKEBjb2xvciksMCkgNjYlKTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCBjZW50ZXIsIEBjb2xvciA2NiUsIHJnYmEocmVkKEBjb2xvciksZ3JlZW4oQGNvbG9yKSxibHVlKEBjb2xvciksMCkgNjYlKTtcbiAgICB9XG59XG5cbi8vIE5vIFNjcm9sbGJhclxuLm5vLXNjcm9sbGJhcigpIHtcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLy8gQmFycyBJbnB1dFxuLmJhcnMtaW5wdXQoKSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1zLWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDEpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cbi5uby1oYWlybGluZXMoKSB7XG4gICAgJi5uby1oYWlybGluZXMsICYubm8taGFpcmxpbmVzIHVsLCAmLm5vLWhhaXJsaW5lcyAuY29udGVudC1ibG9jay1pbm5lciB7XG4gICAgICAgIC5oYWlybGluZS1yZW1vdmUodG9wKTtcbiAgICAgICAgLmhhaXJsaW5lLXJlbW92ZShib3R0b20pO1xuICAgIH1cbn1cbi5uby1oYWlybGluZXMtYmV0d2VlbigpIHtcbiAgICAmLm5vLWhhaXJsaW5lcy1iZXR3ZWVuIHtcbiAgICAgICAgLml0ZW0taW5uZXIsIC5saXN0LWJ1dHRvbiwgLml0ZW0tZGl2aWRlciwgLmxpc3QtZ3JvdXAtdGl0bGUsIC5saXN0LWdyb3VwLXRpdGxlIHtcbiAgICAgICAgICAgIC5oYWlybGluZS1yZW1vdmUoYm90dG9tKTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIvKiA9PT0gVmlld3MgPT09ICovXG4udmlld3MsIC52aWV3IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDUwMDA7XG59XG4udmlld3Mge1xuICAgIC5zY3JvbGxhYmxlKCk7XG59XG4udmlldyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuIiwiLyogPT09IFBhZ2VzID09PSAqL1xuXG4vLyBQYWdlcyBhbmltYXRpb25zXG5AcGFnZUR1cmF0aW9uOiAzMDBtcztcbkBuZXdQYWdlT2Zmc2V0OiA1NnB4O1xuXG4ucGFnZXMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5wYWdlIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAudHJhbnNsYXRlM2QoMCwwLDApO1xuICAgICYuY2FjaGVkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4ucGFnZS1vbi1sZWZ0IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC50cmFuc2xhdGUzZCgwLDAsMCk7XG59XG4ucGFnZS1vbi1yaWdodCB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAudHJhbnNsYXRlM2QoMCwgQG5ld1BhZ2VPZmZzZXQsIDApO1xufVxuLnBhZ2UtY29udGVudCB7XG4gICAgLnNjcm9sbGFibGUoKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbn1cblxuLy9DbGFzcyB0aGF0IHdpbGwgdHJpZ2dlciB0cmFuc2l0aW9uIGR1cmluZyBwYWdlIGN1c3RvbSB0cmFuc2l0aW9ucyAobGlrZSBzd2lwZS1iYWNrKVxuLnBhZ2UtdHJhbnNpdGlvbmluZyB7XG4gICAgLnRyYW5zaXRpb24oQHBhZ2VEdXJhdGlvbik7XG59XG4vLyBGcm9tL3RvIFJpZ2h0IFRvL2Zyb20gQ2VudGVyIGFuaW1hdGlvbnNcbi5wYWdlLWZyb20tcmlnaHQtdG8tY2VudGVyIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAuYW5pbWF0aW9uKHBhZ2VGcm9tUmlnaHRUb0NlbnRlciBAcGFnZUR1cmF0aW9uIGZvcndhcmRzKTtcbn1cbi5wYWdlLWZyb20tY2VudGVyLXRvLXJpZ2h0IHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAuYW5pbWF0aW9uKHBhZ2VGcm9tQ2VudGVyVG9SaWdodCBAcGFnZUR1cmF0aW9uIGZvcndhcmRzKTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBwYWdlRnJvbVJpZ2h0VG9DZW50ZXIge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgQG5ld1BhZ2VPZmZzZXQsMCk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIHBhZ2VGcm9tUmlnaHRUb0NlbnRlciB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgQG5ld1BhZ2VPZmZzZXQsMCk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIHBhZ2VGcm9tQ2VudGVyVG9SaWdodCB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIEBuZXdQYWdlT2Zmc2V0LDApO1xuICAgIH1cbn1cbkBrZXlmcmFtZXMgcGFnZUZyb21DZW50ZXJUb1JpZ2h0IHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCBAbmV3UGFnZU9mZnNldCwwKTtcbiAgICB9XG59XG5cblxuLy8gRnJvbS90byBDZW50ZXIgVG8vZnJvbSBMZWZ0IGFuaW1hdGlvbnNcbi5wYWdlLWZyb20tY2VudGVyLXRvLWxlZnQge1xuICAgIC5hbmltYXRpb24ocGFnZUZyb21DZW50ZXJUb0xlZnQgQHBhZ2VEdXJhdGlvbiBmb3J3YXJkcyk7XG59XG4ucGFnZS1mcm9tLWxlZnQtdG8tY2VudGVyIHtcbiAgICAuYW5pbWF0aW9uKHBhZ2VGcm9tTGVmdFRvQ2VudGVyIEBwYWdlRHVyYXRpb24gZm9yd2FyZHMpO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcGFnZUZyb21DZW50ZXJUb0xlZnQge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuQGtleWZyYW1lcyBwYWdlRnJvbUNlbnRlclRvTGVmdCB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcGFnZUZyb21MZWZ0VG9DZW50ZXIge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuQGtleWZyYW1lcyBwYWdlRnJvbUxlZnRUb0NlbnRlciB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59IiwiLyogPT09IFRvb2xiYXJzID09PSAqL1xuXG4vL1Rvb2xiYXIvTmF2YmFyXG5AdG9vbGJhckJnIDogQHRoZW1lQ29sb3I7XG5AdG9vbGJhckNvbG9yOiAjZmZmO1xuQHRvb2xiYXJMaW5rc0NvbG9yOiAjZmZmO1xuQG5hdmJhclNpemU6IDU2cHg7XG5AdG9vbGJhclNpemU6IDQ4cHg7XG5cbi8vVGFiIGJhclxuQHRhYmJhclNpemU6IDQ4cHg7XG5AdGFiYmFyTGFiZWxzU2l6ZTogNzJweDtcbkB0YWJiYXJMaW5rc0NvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNyk7XG5AdGFiYmFyQWN0aXZlTGlua3NDb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwxKTtcblxuLy8gVG9vbGJhcnMgYW5pbWF0aW9uc1xuQHRvb2xiYXJEdXJhdGlvbjogMzAwbXM7XG5cbi5uYXZiYXItaW5uZXIsIC50b29sYmFyLWlubmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAuZmxleGJveCgpO1xuICAgIC5hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuLm5hdmJhci1pbm5lciB7XG4gICAgLmp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbn1cbi50b29sYmFyLWlubmVyIHtcbiAgICAuanVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pOyAgIFxufVxuLm5hdmJhci1pbm5lci5jYWNoZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4ubmF2YmFyLCAudG9vbGJhciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHotaW5kZXg6IDUwMDtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgY29sb3I6IEB0b29sYmFyQ29sb3I7XG4gICAgYiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxufVxuLm5hdmJhciB+IC50b29sYmFyIHtcbiAgICB6LWluZGV4OiA0OTk7XG59XG4ubmF2YmFyLCAudG9vbGJhciwgLnN1Ym5hdmJhciB7XG4gICAgYmFja2dyb3VuZDogQHRvb2xiYXJCZztcbiAgICBhLmxpbmsge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY29sb3I6IEB0b29sYmFyTGlua3NDb2xvcjtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgLmZsZXhib3goKTtcbiAgICAgICAgLmp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgICAuYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgcGFkZGluZzogMCAxNnB4O1xuICAgICAgICBtaW4td2lkdGg6IDQ4cHg7XG4gICAgICAgIC5hY3RpdmUtaGlnaGxpZ2h0KCk7XG4gICAgICAgIGkrc3BhbiwgaStpLCBzcGFuK2ksIHNwYW4rc3BhbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIGEuaWNvbi1vbmx5IHtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAuZmxleC1zaHJpbmsoMCk7XG4gICAgfVxuICAgIGkuaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cbi5uYXZiYXIsIC5zdWJuYXZiYXIge1xuICAgIC5jZW50ZXIge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwIDE2cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzplbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IEBuYXZiYXJTaXplO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICAgIC5sZWZ0LCAucmlnaHQge1xuICAgICAgICAuZmxleC1zaHJpbmsoMCk7XG4gICAgICAgIC5mbGV4Ym94KCk7XG4gICAgICAgIC5qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgICAgIC5hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgICAudHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIH1cbiAgICAucmlnaHQge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG4gICAgLnJpZ2h0OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMTZweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbn1cbi5uYXZiYXIge1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogQG5hdmJhclNpemU7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGEubGluayB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBAbmF2YmFyU2l6ZTtcbiAgICAgICAgaGVpZ2h0OiBAbmF2YmFyU2l6ZTtcbiAgICB9XG4gICAgLnBvcHVwICYge1xuICAgICAgICAudHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIH1cbn1cbi5zdWJuYXZiYXIge1xuICAgIGhlaWdodDogQHRvb2xiYXJTaXplO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMTAwJTtcbiAgICB6LWluZGV4OiAyMDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmc6IDAgMTZweDtcbiAgICAuZmxleGJveCgpO1xuICAgIC5qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG4gICAgLmFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBhLmxpbmsge1xuICAgICAgICBsaW5lLWhlaWdodDogQHRvb2xiYXJTaXplO1xuICAgICAgICBoZWlnaHQ6IEB0b29sYmFyU2l6ZTtcbiAgICB9XG4gICAgLmNlbnRlciB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBAdG9vbGJhclNpemU7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDU2cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm5hdmJhci5uby1ib3JkZXIgJiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICAgIC5uYXZiYXItb24tbGVmdCAmLCAubmF2YmFyLW9uLXJpZ2h0ICZ7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgICAubmF2YmFyICYsIC5wYWdlICYge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICAgIC5wYWdlID4gJiB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gICAgPiAuYnV0dG9ucy1yb3cge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLnNlYXJjaGJhciwgJi5zZWFyY2hiYXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICAgICYuc2VhcmNoYmFyLCAuc2VhcmNoYmFyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgICAuc2VhcmNoYmFyIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgIH1cbiAgICAuY2VudGVyIHtcblxuICAgIH1cbn1cbi50b29sYmFyIHtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IEB0b29sYmFyU2l6ZTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgYS5saW5rIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IEB0b29sYmFyU2l6ZTtcbiAgICAgICAgaGVpZ2h0OiBAdG9vbGJhclNpemU7XG4gICAgfVxuICAgIGEge1xuICAgICAgICAuZmxleC1zaHJpbmsoMSk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzplbGxpcHNpcztcbiAgICB9XG59XG5cbi8vIFRhYmJhclxuLnRhYmJhciB7XG4gICAgei1pbmRleDogNTAwMTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDA7XG4gICAgLnRvb2xiYXItaW5uZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICAgIGEubGluayB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgfVxuICAgIGEudGFiLWxpbmssIGEubGluayB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgLmZsZXhib3goKTtcbiAgICAgICAgLmp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgICAuYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAgIC1tb3otYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gICAgaS5pY29uIHtcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgIH1cbiAgICBhLnRhYi1saW5rIHtcbiAgICAgICAgLnRyYW5zaXRpb24oMzAwbXMpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBjb2xvcjogQHRhYmJhckxpbmtzQ29sb3I7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgJi5hY3RpdmUsIGh0bWw6bm90KC53YXRjaC1hY3RpdmUtc3RhdGUpICY6YWN0aXZlLCAmLmFjdGl2ZS1zdGF0ZSB7XG4gICAgICAgICAgICBjb2xvcjogQHRhYmJhckFjdGl2ZUxpbmtzQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnRhYi1saW5rLWhpZ2hsaWdodCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgYmFja2dyb3VuZDogZGFya2VuKEB0aGVtZUNvbG9yLCAxNSUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuNSk7XG4gICAgICAgIC50cmFuc2l0aW9uKDMwMG1zKTtcbiAgICB9XG59XG4udGFiYmFyLWxhYmVscyB7XG4gICAgaGVpZ2h0OiBAdGFiYmFyTGFiZWxzU2l6ZTtcbiAgICBhLnRhYi1saW5rLCBhLmxpbmsge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEycHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgLmp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbiAgICB9XG4gICAgc3Bhbi50YWJiYXItbGFiZWwge1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbi50YWJiYXItc2Nyb2xsYWJsZSB7XG4gICAgLnRvb2xiYXItaW5uZXIge1xuICAgICAgICAuanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICAgICAgICAubm8tc2Nyb2xsYmFyKCk7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cbiAgICBhLnRhYi1saW5rLCBhLmxpbmsge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgLmZsZXgtc2hyaW5rKDApO1xuICAgICAgICAtbXMtZmxleDogMDtcbiAgICAgICAgcGFkZGluZzogMCAxNnB4O1xuICAgIH1cbn1cbi50b29sYmFyLWJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICAgIHRvcDogYXV0bztcbiAgICAudGFiLWxpbmstaGlnaGxpZ2h0IHtcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICB0b3A6IDA7XG4gICAgfVxufVxuLnN1Ym5hdmJhciwgLm5hdmJhciB7XG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl0sIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSwgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSwgaW5wdXRbdHlwZT1cImVtYWlsXCJdLCBpbnB1dFt0eXBlPVwidGVsXCJdLCBpbnB1dFt0eXBlPVwidXJsXCJdIHtcbiAgICAgICAgLmJhcnMtaW5wdXQoKTtcbiAgICB9XG59IiwiLyogPT09IFJlbGF0aW9uIGJldHdlZW4gdG9vbGJhci9uYXZiYXIgdHlwZXMgYW5kIHBhZ2VzID09PSAqL1xuLnBhZ2UsIC52aWV3LCAudmlld3N7XG4gICAgPi5uYXZiYXIsID4udG9vbGJhciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG59XG4uc3VibmF2YmFyIH4gLnBhZ2UtY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IEB0b29sYmFyU2l6ZTtcbn1cbi50b29sYmFyLWZpeGVkLCAudGFiYmFyLWZpeGVkIHtcbiAgICAucGFnZS1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6IEB0b29sYmFyU2l6ZTtcbiAgICB9XG59XG4udGFiYmFyLWxhYmVscy1maXhlZCB7XG4gICAgLnBhZ2UtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiBAdGFiYmFyTGFiZWxzU2l6ZTtcbiAgICB9XG59XG5cbi50b29sYmFyIH4gLnBhZ2UtY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IEB0b29sYmFyU2l6ZTtcbn1cbi50YWJiYXItbGFiZWxzIH4gLnBhZ2UtY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IEB0YWJiYXJMYWJlbHNTaXplO1xufVxuLnRvb2xiYXItYm90dG9tLCAubWVzc2FnZWJhciB7XG4gICAgfiAucGFnZS1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBAdG9vbGJhclNpemU7XG4gICAgfVxufVxuLnRhYmJhci1sYWJlbHMudG9vbGJhci1ib3R0b20gfiAucGFnZS1jb250ZW50IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogQHRhYmJhckxhYmVsc1NpemU7XG59XG4ubmF2YmFyLWZpeGVkIHtcbiAgICAucGFnZS1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6IEBuYXZiYXJTaXplO1xuICAgIH1cblxuICAgICYudG9vbGJhci1maXhlZCwgJi50YWJiYXItZml4ZWQsIC50b29sYmFyLWZpeGVkLCAudGFiYmFyLWZpeGVkLCAudG9vbGJhci1maXhlZCAmLCAudGFiYmFyLWZpeGVkICYge1xuICAgICAgICAucGFnZS1jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBAbmF2YmFyU2l6ZSArIEB0b29sYmFyU2l6ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnRhYmJhci1sYWJlbHMtZml4ZWQsIC50YWJiYXItbGFiZWxzLWZpeGVkLCAudGFiYmFyLWxhYmVscy1maXhlZCAmIHtcbiAgICAgICAgLnBhZ2UtY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogQG5hdmJhclNpemUgKyBAdGFiYmFyTGFiZWxzU2l6ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudG9vbGJhciB+IC5wYWdlLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXRvcDogQG5hdmJhclNpemUgKyBAdG9vbGJhclNpemU7XG4gICAgfVxuICAgIC5tZXNzYWdlYmFyIH4gLnBhZ2UtY29udGVudCwgLnRvb2xiYXItYm90dG9tIH4gLnBhZ2UtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiBAbmF2YmFyU2l6ZTtcbiAgICB9XG5cbiAgICAudGFiYmFyLWxhYmVscyB+IC5wYWdlLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXRvcDogQG5hdmJhclNpemUgKyBAdGFiYmFyTGFiZWxzU2l6ZTtcbiAgICB9XG4gICAgLnRhYmJhci1sYWJlbHMudG9vbGJhci1ib3R0b20gfiAucGFnZS1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6IEBuYXZiYXJTaXplO1xuICAgIH1cblxuICAgIC53aXRoLXN1Ym5hdmJhciAucGFnZS1jb250ZW50LCAucGFnZS1jb250ZW50LndpdGgtc3VibmF2YmFyLCAuc3VibmF2YmFyIH4gLnBhZ2UtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiBAbmF2YmFyU2l6ZSArIEB0b29sYmFyU2l6ZTtcbiAgICB9XG5cbiAgICAucGFnZSAuc3VibmF2YmFyLCAmLnBhZ2UgLnN1Ym5hdmJhciB7XG4gICAgICAgIHRvcDogQG5hdmJhclNpemU7XG4gICAgfVxuXG4gICAgLnRvb2xiYXIge1xuICAgICAgICB0b3A6IEBuYXZiYXJTaXplO1xuICAgIH1cbiAgICAubWVzc2FnZWJhciwgLnRvb2xiYXItYm90dG9tIHtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgIH1cbn1cbi8vIFBhZ2UgSGlkZGVuIE5hdmJhclxuLm5hdmJhciB7XG4gICAgJi5uYXZiYXItaGlkaW5nIHtcbiAgICAgICAgLnRyYW5zaXRpb24oNDAwbXMpO1xuICAgICAgICAudHJhbnNsYXRlM2QoMCwwLDApO1xuICAgICAgICAmIH4gLnBhZ2UtY29udGVudCwgJiB+IC5wYWdlcywgJiB+IC5wYWdlIHtcbiAgICAgICAgICAgIC5saXN0LWdyb3VwLXRpdGxlIHtcbiAgICAgICAgICAgICAgICAudHJhbnNpdGlvbig0MDBtcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc3VibmF2YmFyIHtcbiAgICAgICAgICAgICAgICAudHJhbnNpdGlvbig0MDBtcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiB+IC5zdWJuYXZiYXIsICYgfiAudG9vbGJhciB7XG4gICAgICAgICAgICAudHJhbnNpdGlvbig0MDBtcyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5uYXZiYXItaGlkZGVuIHtcbiAgICAgICAgLnRyYW5zaXRpb24oNDAwbXMpO1xuICAgICAgICAudHJhbnNsYXRlM2QoMCwtMTAwJSwwKTtcbiAgICAgICAgJiB+IC5wYWdlLWNvbnRlbnQsICYgfiAucGFnZXMsICYgfiAucGFnZSB7XG4gICAgICAgICAgICAubGlzdC1ncm91cC10aXRsZSB7XG4gICAgICAgICAgICAgICAgLnRyYW5zaXRpb24oNDAwbXMpO1xuICAgICAgICAgICAgICAgIHRvcDotQG5hdmJhclNpemU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc3VibmF2YmFyIHtcbiAgICAgICAgICAgICAgICAudHJhbnNsYXRlM2QoMCwtQG5hdmJhclNpemUsMCk7XG4gICAgICAgICAgICAgICAgLnRyYW5zaXRpb24oNDAwbXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgfiAuc3VibmF2YmFyLCAmIH4gLnRvb2xiYXI6bm90KC5tZXNzYWdlYmFyKTpub3QoLnRvb2xiYXItYm90dG9tKSB7XG4gICAgICAgICAgICAudHJhbnNsYXRlM2QoMCwtQG5hdmJhclNpemUsMCk7XG4gICAgICAgICAgICAudHJhbnNpdGlvbig0MDBtcyk7XG4gICAgICAgIH1cbiAgICB9XG59XG4ucGFnZS5uby1uYXZiYXIge1xuICAgIC5wYWdlLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gICAgJi53aXRoLXN1Ym5hdmJhciAucGFnZS1jb250ZW50LCAud2l0aC1zdWJuYXZiYXIgJiAucGFnZS1jb250ZW50LCAucGFnZS1jb250ZW50LndpdGgtc3VibmF2YmFyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IEB0b29sYmFyU2l6ZTtcbiAgICB9XG59XG4vLyBQYWdlIEhpZGRlbiBUb29sYmFyXG4udG9vbGJhciwgLnRhYmJhciB7XG4gICAgJi50b29sYmFyLWhpZGluZywgJi50YWJiYXItaGlkaW5nIHtcbiAgICAgICAgLnRyYW5zaXRpb24oNDAwbXMpO1xuICAgICAgICAudHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIH1cbiAgICAmLnRvb2xiYXItaGlkZGVuLCAmLnRhYmJhci1oaWRkZW4ge1xuICAgICAgICAudHJhbnNpdGlvbig0MDBtcyk7XG4gICAgfVxuXG4gICAgJi50b29sYmFyLWhpZGRlbiwgJi50YWJiYXItaGlkZGVuIHtcbiAgICAgICAgLnRyYW5zbGF0ZTNkKDAsLTEwMCUsMCk7XG4gICAgfVxuICAgIC5uYXZiYXIgfiAmLnRvb2xiYXItaGlkZGVuLCAubmF2YmFyIH4gJi50YWJiYXItaGlkZGVuIHtcbiAgICAgICAgLnRyYW5zbGF0ZTNkKDAsLTEwNHB4LDApO1xuICAgIH1cbiAgICAubmF2YmFyIH4gJi50YWJiYXItbGFiZWxzLnRvb2xiYXItaGlkZGVuIHtcbiAgICAgICAgLnRyYW5zbGF0ZTNkKDAsLTEyOHB4LDApO1xuICAgIH1cbiAgICAmLnRvb2xiYXItaGlkZGVuLm1lc3NhZ2ViYXIsICYudG9vbGJhci1oaWRkZW4udG9vbGJhci1ib3R0b20ge1xuICAgICAgICAudHJhbnNsYXRlM2QoMCwgMTAwJSwwKTtcbiAgICB9XG59XG4ucGFnZS5uby10b29sYmFyIC5wYWdlLWNvbnRlbnQsIC5wYWdlLm5vLXRhYmJhciAucGFnZS1jb250ZW50IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cbiIsIi8qID09PSBTZWFyY2ggQmFyID09PSAqL1xuQHNlYXJjaGJhckJvcmRlckNvbG9yOiAjYjRiNGI0O1xuQHNlYXJjaGJhclNpemU6IEB0b29sYmFyU2l6ZTtcbi5zZWFyY2hiYXIge1xuICAgIGhlaWdodDogQHNlYXJjaGJhclNpemU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogQHRoZW1lQ29sb3I7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nOiAwIDE2cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLmZsZXhib3goKTtcbiAgICAuYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICBjb2xvcjojZmZmO1xuICAgIGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgIC5hY3RpdmUtaGlnaGxpZ2h0KCk7XG4gICAgfVxuICAgIC5zZWFyY2hiYXItaW5wdXQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC5mbGV4LXNocmluaygxKTtcbiAgICB9XG4gICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICAgIC5iYXJzLWlucHV0KCk7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMCAzNnB4IDAgMjRweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgY2VudGVyO1xuICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiAyNHB4IDI0cHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjRweCAyNHB4O1xuICAgICAgICAudHJhbnNpdGlvbigzMDBtcyk7XG4gICAgICAgIC5lbmNvZGVkLXN2Zy1iYWNrZ3JvdW5kKFwiPHN2ZyBmaWxsPScjRkZGRkZGJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIHdpZHRoPScyNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz48cGF0aCBkPSdNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHonLz48cGF0aCBkPSdNMCAwaDI0djI0SDB6JyBmaWxsPSdub25lJy8+PC9zdmc+XCIpO1xuICAgICAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uIHtcbiAgICAgICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTpub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5zZWFyY2hiYXItY2xlYXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiA1NnB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAtMTZweDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czpub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIC5lbmNvZGVkLXN2Zy1iYWNrZ3JvdW5kKFwiPHN2ZyBmaWxsPScjZmZmJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIHdpZHRoPScyNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz48cGF0aCBkPSdNMTkgNi40MUwxNy41OSA1IDEyIDEwLjU5IDYuNDEgNSA1IDYuNDEgMTAuNTkgMTIgNSAxNy41OSA2LjQxIDE5IDEyIDEzLjQxIDE3LjU5IDE5IDE5IDE3LjU5IDEzLjQxIDEyeicvPjxwYXRoIGQ9J00wIDBoMjR2MjRIMHonIGZpbGw9J25vbmUnLz48L3N2Zz5cIik7XG4gICAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiAyNHB4IDI0cHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjRweCAyNHB4O1xuICAgICAgICAudHJhbnNpdGlvbigzMDBtcyk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gICAgLnNlYXJjaGJhci1jYW5jZWwge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAmLnNlYXJjaGJhci1hY3RpdmUge1xuICAgICAgICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgICAgLnNlYXJjaGJhci1jbGVhciB7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zZWFyY2hiYXItbm90LWVtcHR5IHtcbiAgICAgICAgLnNlYXJjaGJhci1jbGVhciB7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG59XG4uc2VhcmNoYmFyLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogMTAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6bm9uZTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMjUpO1xuICAgIC50cmFuc2l0aW9uKDMwMG1zKTtcbiAgICAudHJhbnNsYXRlM2QoMCwwLDApO1xuICAgICYuc2VhcmNoYmFyLW92ZXJsYXktYWN0aXZlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgfVxufVxuLnNlYXJjaGJhci1ub3QtZm91bmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4uaGlkZGVuLWJ5LXNlYXJjaGJhciwgLmxpc3QtYmxvY2sgLmhpZGRlbi1ieS1zZWFyY2hiYXIsIC5saXN0LWJsb2NrIGxpLmhpZGRlbi1ieS1zZWFyY2hiYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4ucGFnZSA+IC5zZWFyY2hiYXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAyMDA7XG4gICAgJiB+IC5wYWdlLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXRvcDogQHNlYXJjaGJhclNpemU7XG4gICAgfVxufVxuLm5hdmJhci1maXhlZCwgLm5hdmJhci10aHJvdWdoIHtcbiAgICAucGFnZSA+IC5zZWFyY2hiYXIsID4gLnNlYXJjaGJhciB7XG4gICAgICAgIHRvcDogQG5hdmJhclNpemU7XG4gICAgICAgICYgfiAucGFnZS1jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBAc2VhcmNoYmFyU2l6ZSArIEBuYXZiYXJTaXplO1xuICAgICAgICB9XG4gICAgfVxufSIsIi8qID09PSBNZXNzYWdlIEJhciA9PT0gKi9cbi50b29sYmFyLm1lc3NhZ2ViYXIge1xuICAgIC50cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAuaGFpcmxpbmUodG9wLCAjZDFkMWQxKTtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0YXJlYSB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAtbXMtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDNweCA4cHggM3B4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgICAgcmVzaXplOm5vbmU7XG4gICAgICAgIC5mbGV4LXNocmluaygxKTtcbiAgICB9XG4gICAgYS5saW5rIHtcbiAgICAgICAgY29sb3I6ICMzMzM7XG4gICAgICAgIC5hbGlnbi1zZWxmKGZsZXgtZW5kKTtcbiAgICAgICAgaGVpZ2h0OiBAdG9vbGJhclNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBAdG9vbGJhclNpemU7XG4gICAgICAgIC5hY3RpdmUtaGlnaGxpZ2h0LWNvbG9yKHJnYmEoMCwwLDAsMC4xKSk7XG5cbiAgICB9XG4gICAgLmxpbmsge1xuICAgICAgICAuZmxleC1zaHJpbmsoMCk7XG4gICAgfVxuICAgIH4gLnBhZ2UtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBAdG9vbGJhclNpemU7XG4gICAgfVxuICAgIC5wYWdlLm5vLXRvb2xiYXIgJiB+LnBhZ2UtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBAdG9vbGJhclNpemU7XG4gICAgfVxuICAgIC5oaWRkZW4tdG9vbGJhciAmIHtcbiAgICAgICAgLnRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAgICAgLnRyYW5zaXRpb24oMG1zKTtcbiAgICB9XG59XG4iLCIvKiA9PT0gSWNvbnMgPT09ICovXG5pLmljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLyogTWF0ZXJpYWwgSWNvbnMgaHR0cDovL2dvb2dsZS5naXRodWIuaW8vbWF0ZXJpYWwtZGVzaWduLWljb25zLyAqL1xuICAgICYuaWNvbi1iYWNrIHtcbiAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgLmVuY29kZWQtc3ZnLWJhY2tncm91bmQoXCI8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnPjxwYXRoIGQ9J00yMCAxMUg3LjgzbDUuNTktNS41OUwxMiA0bC04IDggOCA4IDEuNDEtMS40MUw3LjgzIDEzSDIwdi0yeicgZmlsbD0nI2ZmZmZmZicvPjwvc3ZnPlwiKVxuICAgIH1cbiAgICAmLmljb24tZm9yd2FyZCB7XG4gICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgIC5lbmNvZGVkLXN2Zy1iYWNrZ3JvdW5kKFwiPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0Jz48cGF0aCBkPSdNMTIgNGwtMS40MSAxLjQxTDE2LjE3IDExSDR2MmgxMi4xN2wtNS41OCA1LjU5TDEyIDIwbDgtOHonIGZpbGw9JyNmZmZmZmYnLz48L3N2Zz5cIik7XG4gICAgfVxuICAgICYuaWNvbi1iYXJzIHtcbiAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgLmVuY29kZWQtc3ZnLWJhY2tncm91bmQoXCI8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnPjxwYXRoIGQ9J00zIDE4aDE4di0ySDN2MnptMC01aDE4di0ySDN2MnptMC03djJoMThWNkgzeicgZmlsbD0nI2ZmZmZmZicvPjwvc3ZnPlwiKTtcbiAgICB9XG4gICAgJi5pY29uLWNhbWVyYSB7XG4gICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgIC5lbmNvZGVkLXN2Zy1iYWNrZ3JvdW5kKFwiPHN2ZyBmaWxsPScjMzMzJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIHdpZHRoPScyNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz48Y2lyY2xlIGN4PScxMicgY3k9JzEyJyByPSczLjInLz48cGF0aCBkPSdNOSAyTDcuMTcgNEg0Yy0xLjEgMC0yIC45LTIgMnYxMmMwIDEuMS45IDIgMiAyaDE2YzEuMSAwIDItLjkgMi0yVjZjMC0xLjEtLjktMi0yLTJoLTMuMTdMMTUgMkg5em0zIDE1Yy0yLjc2IDAtNS0yLjI0LTUtNXMyLjI0LTUgNS01IDUgMi4yNCA1IDUtMi4yNCA1LTUgNXonLz48cGF0aCBkPSdNMCAwaDI0djI0SDB6JyBmaWxsPSdub25lJy8+PC9zdmc+XCIpO1xuICAgIH1cbiAgICAmLmljb24tZjcge1xuICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJAe2ltZ0Jhc2VVcmx9L2ktZjctbWF0ZXJpYWwucG5nXCIpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgfVxuICAgICYuaWNvbi1uZXh0LCAmLmljb24tcHJldiB7XG4gICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgfVxuICAgICYuaWNvbi1uZXh0IHtcbiAgICAgICAgLmVuY29kZWQtc3ZnLWJhY2tncm91bmQoXCI8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI2ZmZmZmZicgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnPjxwYXRoIGQ9J00xMCA2TDguNTkgNy40MSAxMy4xNyAxMmwtNC41OCA0LjU5TDEwIDE4bDYtNnonLz48cGF0aCBkPSdNMCAwaDI0djI0SDB6JyBmaWxsPSdub25lJy8+PC9zdmc+XCIpO1xuICAgIH1cbiAgICAmLmljb24tcHJldiB7XG4gICAgICAgIC5lbmNvZGVkLXN2Zy1iYWNrZ3JvdW5kKFwiPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyNmZmZmZmYnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0Jz48cGF0aCBkPSdNMTUuNDEgNy40MUwxNCA2bC02IDYgNiA2IDEuNDEtMS40MUwxMC44MyAxMnonLz48cGF0aCBkPSdNMCAwaDI0djI0SDB6JyBmaWxsPSdub25lJy8+PC9zdmc+XCIpO1xuICAgIH1cbiAgICAmLmljb24tcGx1cyB7XG4gICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgLmVuY29kZWQtc3ZnLWJhY2tncm91bmQoXCI8c3ZnIGZpbGw9JyNGRkZGRkYnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgd2lkdGg9JzI0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J00xOSAxM2gtNnY2aC0ydi02SDV2LTJoNlY1aDJ2Nmg2djJ6Jy8+PHBhdGggZD0nTTAgMGgyNHYyNEgweicgZmlsbD0nbm9uZScvPjwvc3ZnPlwiKTtcbiAgICB9XG4gICAgJi5pY29uLWNsb3NlIHtcbiAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICAuZW5jb2RlZC1zdmctYmFja2dyb3VuZChcIjxzdmcgZmlsbD0nI0ZGRkZGRicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyB3aWR0aD0nMjQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+PHBhdGggZD0nTTE5IDYuNDFMMTcuNTkgNSAxMiAxMC41OSA2LjQxIDUgNSA2LjQxIDEwLjU5IDEyIDUgMTcuNTkgNi40MSAxOSAxMiAxMy40MSAxNy41OSAxOSAxOSAxNy41OSAxMy40MSAxMnonLz48cGF0aCBkPSdNMCAwaDI0djI0SDB6JyBmaWxsPSdub25lJy8+PC9zdmc+XCIpO1xuICAgIH1cbn1cbiIsIi5iYWRnZSB7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjojZmZmO1xuICAgIGJhY2tncm91bmQ6ICM4ZThlOTM7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIHBhZGRpbmc6IDFweCA2cHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLmljb24gLmJhZGdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgdG9wOiAtMnB4O1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIHBhZGRpbmc6IDFweCA1cHg7XG59IiwiLyogPT09IENvbnRlbnQgQmxvY2sgPT09ICovXG5AY29udGVudEJsb2NrQm9yZGVyQ29sb3I6IHJnYmEoMCwwLDAsMC4xMik7XG4uY29udGVudC1ibG9jayB7XG4gICAgbWFyZ2luOiAzMnB4IDA7XG4gICAgcGFkZGluZzogMCAxNnB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLm5vLWhhaXJsaW5lcygpO1xufVxuLmNvbnRlbnQtYmxvY2stdGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW46IDE2cHggMTZweCAxNnB4O1xuICAgIHBhZGRpbmctdG9wOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6IHJnYmEoMCwwLDAsMC41NCk7XG4gICAgKyAubGlzdC1ibG9jaywgKyAuY29udGVudC1ibG9jaywgKy5jYXJkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgIH1cblxufVxuLmNvbnRlbnQtYmxvY2staW5uZXIge1xuICAgIHBhZGRpbmc6IDE2cHggMTZweDtcbiAgICBtYXJnaW4tbGVmdDogLTE2cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC5oYWlybGluZSh0b3AsIEBjb250ZW50QmxvY2tCb3JkZXJDb2xvcik7XG4gICAgLmhhaXJsaW5lKGJvdHRvbSwgQGNvbnRlbnRCbG9ja0JvcmRlckNvbG9yKTtcbiAgICA+cDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICAgID5wOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cbi5jb250ZW50LWJsb2NrLmluc2V0IHtcbiAgICBtYXJnaW4tbGVmdDogMTZweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgIC5jb250ZW50LWJsb2NrLWlubmVyIHtcbiAgICAgICAgLmhhaXJsaW5lLXJlbW92ZSh0b3ApO1xuICAgICAgICAuaGFpcmxpbmUtcmVtb3ZlKGJvdHRvbSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICB9XG59XG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOjc2OHB4KSB7XG4gICAgLmNvbnRlbnQtYmxvY2sudGFibGV0LWluc2V0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTZweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4XG4gICAgfVxuICAgIFxuICAgIC5jb250ZW50LWJsb2NrLnRhYmxldC1pbnNldCAuY29udGVudC1ibG9jay1pbm5lciB7XG4gICAgXHQuaGFpcmxpbmUtcmVtb3ZlKHRvcCk7XG4gICAgICAgIC5oYWlybGluZS1yZW1vdmUoYm90dG9tKTtcbiAgICBcdGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICB9XG59XG4iLCIvKiA9PT0gTGlzdHMgPT09ICovXG5AbGlzdEJsb2NrQm9yZGVyQ29sb3I6IHJnYmEoMCwwLDAsMC4xMik7XG4ubGlzdC1ibG9jayB7XG4gICAgbWFyZ2luOiAzMnB4IDA7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC5oYWlybGluZSh0b3AsIEBsaXN0QmxvY2tCb3JkZXJDb2xvcik7XG4gICAgICAgIC5oYWlybGluZShib3R0b20sIEBsaXN0QmxvY2tCb3JkZXJDb2xvcik7XG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIC5oYWlybGluZS1yZW1vdmUodG9wKTtcbiAgICAgICAgICAgIC5oYWlybGluZS1yZW1vdmUoYm90dG9tKTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNTZweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hbGlnbi10b3AsIC5hbGlnbi10b3AgLml0ZW0tY29udGVudCwgLmFsaWduLXRvcCAuaXRlbS1pbm5lciB7XG4gICAgICAgIC5hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbiAgICB9XG4gICAgXG4gICAgLmluc2V0KCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTZweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIC5jb250ZW50LWJsb2NrLXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgICAgIC5oYWlybGluZS1yZW1vdmUodG9wKTtcbiAgICAgICAgICAgIC5oYWlybGluZS1yZW1vdmUoYm90dG9tKTtcbiAgICAgICAgfVxuICAgICAgICBsaTpmaXJzdC1jaGlsZCA+IGF7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDtcbiAgICAgICAgfVxuICAgICAgICBsaTpsYXN0LWNoaWxkID4gYXtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCA0cHggNHB4O1xuICAgICAgICB9XG4gICAgICAgIGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQgPiBhIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmluc2V0IHtcbiAgICAgICAgLmluc2V0KClcbiAgICB9XG4gICAgJi50YWJsZXQtaW5zZXQge1xuICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOjc2OHB4KSB7XG4gICAgICAgICAgICAuaW5zZXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIExpc3QgaXRlbXNcbiAgICBsaSB7XG4gICAgICAgIGJveC1zaXppbmc6Ym9yZGVyLWJveDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICBcbiAgICAuaXRlbS1tZWRpYSB7XG4gICAgICAgIC5mbGV4Ym94KCk7XG4gICAgICAgIC5mbGV4LXNocmluaygwKTtcbiAgICAgICAgLmZsZXgtd3JhcChub3dyYXApO1xuICAgICAgICAuYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgYm94LXNpemluZzpib3JkZXItYm94O1xuICAgICAgICBwYWRkaW5nLXRvcDogOHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xuICAgICAgICBtaW4td2lkdGg6IDQwcHg7XG4gICAgICAgIGkgKyBpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICAgIH1cbiAgICAgICAgaSArIGltZyB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5pdGVtLW1lZGlhICsgLml0ZW0taW5uZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTZweDtcbiAgICB9XG4gICAgLml0ZW0taW5uZXIge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC5oYWlybGluZShib3R0b20sIEBsaXN0QmxvY2tCb3JkZXJDb2xvcik7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogOHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiA0OHB4O1xuICAgICAgICBib3gtc2l6aW5nOmJvcmRlci1ib3g7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6MTtcbiAgICAgICAgLW1zLWZsZXg6MTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAuZmxleGJveCgpO1xuICAgICAgICAuanVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xuICAgICAgICAuYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgLmFsaWduLXNlbGYoc3RyZXRjaCk7XG4gICAgfVxuICAgIC5pdGVtLXRpdGxlIHtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAuZmxleC1zaHJpbmsoMSk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuaXRlbS1hZnRlciB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGNvbG9yOiAjNzU3NTc1O1xuICAgICAgICAuZmxleC1zaHJpbmsoMCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICAgIC5mbGV4Ym94KCk7XG4gICAgICAgIG1heC1oZWlnaHQ6IDI4cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG4gICAgLnNtYXJ0LXNlbGVjdCAuaXRlbS1hZnRlciwgLmF1dG9jb21wbGV0ZS1vcGVuZXIgLml0ZW0tYWZ0ZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDcwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIC5pdGVtLWxpbmsge1xuICAgICAgICAudHJhbnNpdGlvbigzMDBtcyk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICAuaXRlbS1pbm5lciB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MnB4O1xuICAgICAgICAgICAgLmVuY29kZWQtc3ZnLWJhY2tncm91bmQoXCI8c3ZnIHZpZXdCb3g9JzAgMCA2MCAxMjAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+PHBhdGggZD0nbTYwIDYxLjUtMzguMjUgMzguMjUtOS43NS05Ljc1IDI5LjI1LTI4LjUtMjkuMjUtMjguNSA5Ljc1LTkuNzV6JyBmaWxsPScjYzdjN2NjJy8+PC9zdmc+XCIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMHB4IDIwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTUlIGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC13ZWJraXQtY2FsYyh+XCIxMDAlIC0gMTZweFwiKSBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKH5cIjEwMCUgLSAxNnB4XCIpIGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBodG1sOm5vdCgud2F0Y2gtYWN0aXZlLXN0YXRlKSAmOmFjdGl2ZSwgJi5hY3RpdmUtc3RhdGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjEpO1xuICAgICAgICB9XG4gICAgICAgICYubGlzdC1idXR0b24ge1xuICAgICAgICAgICAgcGFkZGluZzogMCAxNnB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDhweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuaXRlbS1jb250ZW50IHtcbiAgICAgICAgYm94LXNpemluZzpib3JkZXItYm94O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQ4cHg7XG4gICAgICAgIC5mbGV4Ym94KCk7XG4gICAgICAgIC5qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG4gICAgICAgIC5hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIH1cbiAgICAvLyBMYWJlbCBhZnRlciBMaXN0IGJsb2NrXG4gICAgLmxpc3QtYmxvY2stbGFiZWwge1xuICAgICAgICBtYXJnaW46IDEwcHggMCAzNXB4O1xuICAgICAgICBwYWRkaW5nOiAwIDE2cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgY29sb3I6IHJnYmEoMCwwLDAsMC41NCk7XG4gICAgfVxuXG4gICAgLy8gU3dpcGUgb3V0c1xuICAgIC5zd2lwZW91dCB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgICAgICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgICB9XG4gICAgLnN3aXBlb3V0LmRlbGV0aW5nIHtcbiAgICAgICAgLnRyYW5zaXRpb24oMzAwbXMpO1xuICAgICAgICAuc3dpcGVvdXQtY29udGVudCB7XG4gICAgICAgICAgICAudHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTEwMCUpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuc3dpcGVvdXQudHJhbnNpdGlvbmluZyB7XG4gICAgICAgIC5zd2lwZW91dC1jb250ZW50LCAuc3dpcGVvdXQtYWN0aW9ucy1yaWdodCBhLCAuc3dpcGVvdXQtYWN0aW9ucy1sZWZ0IGEsIC5zd2lwZW91dC1vdmVyc3dpcGUge1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAzMDBtcztcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDMwMG1zO1xuICAgICAgICB9ICAgIFxuICAgIH1cbiAgICAuc3dpcGVvdXQtY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgfVxuICAgIC5zd2lwZW91dC1vdmVyc3dpcGUge1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IDIwMG1zIGxlZnQ7XG4gICAgICAgIHRyYW5zaXRpb246IDIwMG1zIGxlZnQ7XG4gICAgfVxuICAgIC5zd2lwZW91dC1hY3Rpb25zLWxlZnQsIC5zd2lwZW91dC1hY3Rpb25zLXJpZ2h0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgLmZsZXhib3goKTtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDI0cHg7XG4gICAgICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2M3YzdjYztcbiAgICAgICAgICAgIC5mbGV4Ym94KCk7XG4gICAgICAgICAgICAuYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OicnO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDYwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYS5zd2lwZW91dC1kZWxldGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQHJlZDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuc3dpcGVvdXQtYWN0aW9ucy1yaWdodCB7XG4gICAgICAgIHJpZ2h0OiAwJTtcbiAgICAgICAgLnRyYW5zZm9ybSh0cmFuc2xhdGVYKDEwMCUpKTtcbiAgICAgICAgYTphZnRlciB7XG4gICAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnN3aXBlb3V0LWFjdGlvbnMtbGVmdCB7XG4gICAgICAgIGxlZnQ6IDAlO1xuICAgICAgICAudHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTEwMCUpKTtcbiAgICAgICAgYTphZnRlciB7XG4gICAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTFweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuaXRlbS1zdWJ0aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7XG4gICAgfVxuICAgIC5pdGVtLXRleHQge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGNvbG9yOiAjNzU3NTc1O1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBtYXgtaGVpZ2h0OiA0MHB4O1xuICAgICAgICB0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO1xuICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIH1cbiAgICAmLm1lZGlhLWxpc3QsIGxpLm1lZGlhLWl0ZW0ge1xuICAgICAgICAuaXRlbS1pbm5lciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxNHB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE0cHg7XG4gICAgICAgICAgICAuYWxpZ24tc2VsZihzdHJldGNoKTtcbiAgICAgICAgfVxuICAgICAgICAuaXRlbS1saW5rIC5pdGVtLWlubmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgICAgICB9XG4gICAgICAgIC5pdGVtLWxpbmsgLml0ZW0tdGl0bGUtcm93IHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDI2cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgcmlnaHQgdG9wO1xuICAgICAgICAgICAgLmVuY29kZWQtc3ZnLWJhY2tncm91bmQoXCI8c3ZnIHZpZXdCb3g9JzAgMCA2MCAxMjAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+PHBhdGggZD0nbTYwIDYxLjUtMzguMjUgMzguMjUtOS43NS05Ljc1IDI5LjI1LTI4LjUtMjkuMjUtMjguNSA5Ljc1LTkuNzV6JyBmaWxsPScjYzdjN2NjJy8+PC9zdmc+XCIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMHB4IDIwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLml0ZW0tbWVkaWEge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDE0cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTRweDtcbiAgICAgICAgICAgIC5hbGlnbi1zZWxmKGZsZXgtc3RhcnQpO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaXRlbS10aXRsZS1yb3cge1xuICAgICAgICAgICAgLmZsZXhib3goKTtcbiAgICAgICAgICAgIC5qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG4gICAgICAgIH1cbiAgICAgICAgLml0ZW0tY29udGVudCA+IC5pdGVtLWFmdGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxNHB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE0cHg7XG4gICAgICAgICAgICAuYWxpZ24tc2VsZihmbGV4LXN0YXJ0KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubGlzdC1ncm91cCB7XG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgICY6YWZ0ZXIsICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICArIC5saXN0LWdyb3VwIHVsIHtcbiAgICAgICAgICAgIC5oYWlybGluZS1yZW1vdmUodG9wKTsgICBcbiAgICAgICAgfVxuICAgIH1cbiAgICAuaXRlbS1kaXZpZGVyLCAubGlzdC1ncm91cC10aXRsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmNGY0ZjQ7XG4gICAgICAgIC5oYWlybGluZS1yZW1vdmUodG9wKTtcbiAgICAgICAgcGFkZGluZzogMHB4IDE2cHg7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgY29sb3I6IHJnYmEoMCwwLDAsMC41NCk7XG4gICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQ4cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG4gICAgLmxpc3QtZ3JvdXAtdGl0bGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreTtcbiAgICAgICAgcG9zaXRpb246IC1tb3otc3RpY2t5O1xuICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICAgIC8vIFNvcnRhYmxlXG4gICAgLnNvcnRhYmxlLWhhbmRsZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMXB4O1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxOHB4IDEycHg7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIC5lbmNvZGVkLXN2Zy1iYWNrZ3JvdW5kKFwiPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxOCAxMicgZmlsbD0nI2M3YzdjYyc+PHBhdGggZD0nTTAsMlYwaDIydjJIMHonLz48cGF0aCBkPSdNMCw3VjVoMjJ2MkgweicvPjxwYXRoIGQ9J00wLDEydi0yaDIydjJIMHonLz48L3N2Zz5cIik7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAudHJhbnNpdGlvbigzMDBtcyk7XG4gICAgfVxuICAgICYuc29ydGFibGUge1xuICAgICAgICAuaXRlbS1pbm5lciB7XG4gICAgICAgICAgICAudHJhbnNpdGlvbigzMDBtcyk7ICAgICAgIFxuICAgICAgICB9XG4gICAgfVxuICAgICYuc29ydGFibGUtb3BlbmVkIHtcbiAgICAgICAgLnNvcnRhYmxlLWhhbmRsZXIge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgICAgLml0ZW0taW5uZXIsIC5pdGVtLWxpbmsgLml0ZW0taW5uZXIge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTZweCArIDE4cHggKyAxNnB4O1xuICAgICAgICB9XG4gICAgICAgIC5pdGVtLWxpbmsgLml0ZW0taW5uZXIsIC5pdGVtLWxpbmsgLml0ZW0tdGl0bGUtcm93IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zb3J0YWJsZS1zb3J0aW5nIHtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgLnRyYW5zaXRpb24oMzAwbXMpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGxpLnNvcnRpbmcge1xuICAgICAgICB6LWluZGV4OiA1MDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjgpO1xuICAgICAgICAuZGVwdGgoMik7XG4gICAgICAgIC50cmFuc2l0aW9uKDBtcyk7XG4gICAgICAgIC5pdGVtLWlubmVyIHtcbiAgICAgICAgICAgIC5oYWlybGluZS1yZW1vdmUoYm90dG9tKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIExhc3QtY2hpbGRzXG4gICAgbGkge1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgLmxpc3QtYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAuaGFpcmxpbmUtcmVtb3ZlKGJvdHRvbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LWNoaWxkLCAmOmxhc3QtY2hpbGQgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAuaXRlbS1pbm5lciB7XG4gICAgICAgICAgICAgICAgLmhhaXJsaW5lLXJlbW92ZShib3R0b20pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGxpOmxhc3QtY2hpbGQsICY6bGFzdC1jaGlsZCBsaSB7XG4gICAgICAgICAgICAuaXRlbS1pbm5lciB7XG4gICAgICAgICAgICAgICAgLmhhaXJsaW5lKGJvdHRvbSwgQGxpc3RCbG9ja0JvcmRlckNvbG9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uby1oYWlybGluZXMoKTtcbiAgICAubm8taGFpcmxpbmVzLWJldHdlZW4oKVxufVxuIiwiLyogPT09IEZvcm1zID09PSAqL1xuLy8gSW5wdXRzXG4ubGlzdC1ibG9jayB7XG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl0sIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSwgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSwgaW5wdXRbdHlwZT1cImVtYWlsXCJdLCBpbnB1dFt0eXBlPVwidGVsXCJdLCBpbnB1dFt0eXBlPVwidXJsXCJdLCBpbnB1dFt0eXBlPVwiZGF0ZVwiXSwgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLCBpbnB1dFt0eXBlPVwidGltZVwiXSwgaW5wdXRbdHlwZT1cIm51bWJlclwiXSwgc2VsZWN0LCB0ZXh0YXJlYSB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAtbXMtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgYm94LXNpemluZzpib3JkZXItYm94O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgY29sb3I6IHJnYmEoMCwwLDAsMC4zNSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmxhYmVsLCAuZmxvYXRpbmctbGFiZWwge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBjb2xvcjpyZ2JhKDAsMCwwLDAuNjUpO1xuICAgICAgICAudHJhbnNpdGlvbigyMDBtcyk7XG4gICAgICAgIHdpZHRoOiAzNSU7XG4gICAgICAgIC5mbGV4LXNocmluaygwKTtcbiAgICB9XG4gICAgXG4gICAgaW5wdXRbdHlwZT1cImRhdGVcIl0sIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICAgIH1cbiAgICBzZWxlY3Qge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgLW1zLWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgfVxuICAgIHRleHRhcmVhIHtcbiAgICAgICAgcmVzaXplOm5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA3cHg7XG4gICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICAgICYucmVzaXphYmxlIHtcbiAgICAgICAgICAgIGhlaWdodDogMzZweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pdGVtLWlucHV0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIC1tcy1mbGV4OjE7XG4gICAgICAgIC5mbGV4LXNocmluaygxKTtcbiAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICAgICAgbWluLWhlaWdodDogMzZweDtcbiAgICB9XG5cbiAgICAvLyBJbnB1dHMgTGlzdFxuICAgIC5pbnB1dC1pdGVtLCAmLmlucHV0cy1saXN0IHtcbiAgICAgICAgdWwge1xuICAgICAgICAgICAgLmhhaXJsaW5lLXJlbW92ZShib3R0b20pO1xuICAgICAgICB9XG4gICAgICAgIC5pdGVtLW1lZGlhIHtcbiAgICAgICAgICAgIC5hbGlnbi1zZWxmKGZsZXgtZW5kKTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDM2cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgICAgIC5pdGVtLWlubmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICAuaGFpcmxpbmUtcmVtb3ZlKGJvdHRvbSk7XG4gICAgICAgIH1cbiAgICAgICAgLmxhYmVsLCAuZmxvYXRpbmctbGFiZWwge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIH1cbiAgICAgICAgLmZsb2F0aW5nLWxhYmVsIHtcbiAgICAgICAgICAgIC50cmFuc2Zvcm0tb3JpZ2luKGxlZnQpO1xuICAgICAgICAgICAgLnRyYW5zZm9ybShzY2FsZSgxNi8xMikgdHJhbnNsYXRlWSgyMXB4KSk7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSgwLDAsMCwwLjM1KTtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA3NSU7XG4gICAgICAgICAgICB+Lml0ZW0taW5wdXQgaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5mb2N1cy1zdGF0ZSwgLm5vdC1lbXB0eS1zdGF0ZSB7XG4gICAgICAgIC5mbG9hdGluZy1sYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjpyZ2JhKDAsMCwwLDAuNjUpO1xuICAgICAgICAgICAgLnRyYW5zZm9ybShzY2FsZSgxKSB0cmFuc2xhdGVZKDApKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuZm9jdXMtc3RhdGUge1xuICAgICAgICAubGFiZWwsIC5mbG9hdGluZy1sYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogQHRoZW1lQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG4uaXRlbS1pbnB1dC1maWVsZCwgLmlucHV0LWZpZWxkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLmhhaXJsaW5lKGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjEyKSk7XG4gICAgJjphZnRlciB7XG4gICAgICAgIC50cmFuc2l0aW9uKDIwMG1zKTtcbiAgICB9XG4gICAgJi5mb2N1cy1zdGF0ZTphZnRlciwgJi5ub3QtZW1wdHktc3RhdGU6YWZ0ZXIsIC5mb2N1cy1zdGF0ZSAmOmFmdGVyLCAubm90LWVtcHR5LXN0YXRlICY6YWZ0ZXJ7XG4gICAgICAgIGJhY2tncm91bmQ6IEB0aGVtZUNvbG9yO1xuICAgICAgICAudHJhbnNmb3JtKHNjYWxlWSgyKSkgIWltcG9ydGFudDtcbiAgICB9XG59XG50ZXh0YXJlYS5yZXNpemFibGUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG4vL1N3aXRjaFxuLmxhYmVsLXN3aXRjaCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLmFsaWduLXNlbGYoY2VudGVyKTtcbiAgICAuY2hlY2tib3gge1xuICAgICAgICB3aWR0aDogMzZweDsgXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDM2cHg7XG4gICAgICAgIGJveC1zaXppbmc6Ym9yZGVyLWJveDtcbiAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjYjBhZmFmO1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAtbXMtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAudHJhbnNpdGlvbigzMDBtcyk7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDonICc7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIHRvcDogLTNweDtcbiAgICAgICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDVweCByZ2JhKDAsMCwwLDAuNCk7XG4gICAgICAgICAgICAudHJhbnNmb3JtKHRyYW5zbGF0ZVgoMHB4KSk7XG4gICAgICAgICAgICAudHJhbnNpdGlvbigzMDBtcyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgICAgICYrIC5jaGVja2JveCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYShyZWQoQHRoZW1lQ29sb3IpLCBncmVlbihAdGhlbWVDb2xvciksIGJsdWUoQHRoZW1lQ29sb3IpLCAwLjUpO1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAudHJhbnNmb3JtKHRyYW5zbGF0ZVgoMTZweCkpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAdGhlbWVDb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLml0ZW0taW5wdXQgJiB7XG4gICAgICAgIHRvcDogKDM2cHggLSAxNHB4KSAvIDI7XG4gICAgfVxufVxuXG4vL0J1dHRvbnNcbi5idXR0b24ge1xuICAgIGNvbG9yOkB0aGVtZUNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICAgIGJveC1zaXppbmc6Ym9yZGVyLWJveDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tcy1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGhlaWdodDogMzZweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG1pbi13aWR0aDogNjRweDtcbiAgICBwYWRkaW5nOiAwIDhweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAudHJhbnNpdGlvbigzMDBtcyk7XG4gICAgLnRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdJiwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSZ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBodG1sOm5vdCgud2F0Y2gtYWN0aXZlLXN0YXRlKSAmOmFjdGl2ZSwgJi5hY3RpdmUtc3RhdGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMSk7XG4gICAgfVxuICAgICYuYnV0dG9uLWZpbGwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdGhlbWVDb2xvcjtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGh0bWw6bm90KC53YXRjaC1hY3RpdmUtc3RhdGUpICY6YWN0aXZlLCAmLmFjdGl2ZS1zdGF0ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oQHRoZW1lQ29sb3IsIDglKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmJ1dHRvbi1iaWcge1xuICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0OHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgfVxuXG4gICAgaS5pY29uICsgc3BhbixcbiAgICBzcGFuOm5vdCgucmlwcGxlLXdhdmUpICsgc3BhbixcbiAgICBzcGFuOm5vdCgucmlwcGxlLXdhdmUpICsgaS5pY29uLFxuICAgIGkuaWNvbiArIGkuaWNvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgfVxuXG4gICAgLm5hdmJhciAmLCAudG9vbGJhciAmLCAuc3VibmF2YmFyICYsIC5ub3RpZmljYXRpb25zICYge1xuICAgICAgICAmOm5vdCguYnV0dG9uLWZpbGwpIHtcbiAgICAgICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgICAgICBodG1sOm5vdCgud2F0Y2gtYWN0aXZlLXN0YXRlKSAmOmFjdGl2ZSwgJi5hY3RpdmUtc3RhdGUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4xNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4uYnV0dG9uLXJhaXNlZCB7XG4gICAgLmRlcHRoKDEpO1xuICAgIGh0bWw6bm90KC53YXRjaC1hY3RpdmUtc3RhdGUpICY6YWN0aXZlLCAmLmFjdGl2ZS1zdGF0ZSB7XG4gICAgICAgIC5kZXB0aCgyKTtcbiAgICB9XG59XG4uYnV0dG9ucy1yb3cge1xuICAgIC5hbGlnbi1zZWxmKGNlbnRlcik7XG4gICAgLmZsZXhib3goKTtcbiAgICAuZmxleC13cmFwKG5vd3JhcCk7XG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDoxO1xuICAgICAgICAtbXMtZmxleDoxO1xuICAgIH1cbiAgICAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxufVxuXG5cbi8vIFNsaWRlclxuLnJhbmdlLXNsaWRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLmFsaWduLXNlbGYoY2VudGVyKTtcbiAgICBpbnB1dFt0eXBlPVwicmFuZ2VcIl0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIC1tcy1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgNTAlIDAsIDUwJSAxMDAlLCBjb2xvci1zdG9wKDAsICNiOWI5YjkpLCBjb2xvci1zdG9wKDEwMCUsICNiOWI5YjkpKTtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjYjliOWI5IDAsICNiOWI5YjkgMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDJweDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgLW1zLWJhY2tncm91bmQtcG9zaXRpb24teTogNTAwcHg7XG4gICAgICAgICY6Zm9jdXMsICY6YWN0aXZlIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIG91dGxpbmU6IDAgbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAvLyBSYW5nZSB0aHVtYiBtaXhpblxuICAgIC5yYW5nZS10aHVtYigpIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIC1tcy1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYmFja2dyb3VuZDogQHRoZW1lQ29sb3I7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgfVxuXG4gICAgLy8gPT09PT09PSBXZWJraXQgPT09PT09PT1cbiAgICBpbnB1dFt0eXBlPVwicmFuZ2VcIl06Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgICAgLnJhbmdlLXRodW1iKCk7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cInJhbmdlXCJdOjotd2Via2l0LXNsaWRlci10aHVtYjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDIwMDBweDtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGJhY2tncm91bmQ6IEB0aGVtZUNvbG9yO1xuICAgICAgICBjb250ZW50OiAnICc7XG4gICAgfVxuXG4gICAgLy8gPT09PT09PSBGaXJlRm94ID09PT09PT09XG4gICAgaW5wdXRbdHlwZT1cInJhbmdlXCJdOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjYjdiOGI3O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxuICAgIGlucHV0W3R5cGU9XCJyYW5nZVwiXTo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICAgIC5yYW5nZS10aHVtYigpO1xuICAgIH1cblxuICAgIC8vID09PT09PT0gSUUgPT09PT09PT1cbiAgICBpbnB1dFt0eXBlPVwicmFuZ2VcIl06Oi1tcy10cmFjayB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgICBpbnB1dFt0eXBlPVwicmFuZ2VcIl06Oi1tcy10aHVtYiB7XG4gICAgICAgIC5yYW5nZS10aHVtYigpO1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJyYW5nZVwiXTo6LW1zLWZpbGwtbG93ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBAdGhlbWVDb2xvcjtcbiAgICB9XG4gICAgaW5wdXRbdHlwZT1cInJhbmdlXCJdOjotbXMtZmlsbC11cHBlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNiN2I4Yjc7XG4gICAgfVxuXG4gICAgLml0ZW0taW5wdXQgJiB7XG4gICAgICAgIHRvcDogKDM2cHggLSAyMHB4KSAvIDI7XG4gICAgfVxufVxuXG4vLyBDaGVja2JveGVzXG5sYWJlbC5sYWJlbC1jaGVja2JveCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGkuaWNvbi1mb3JtLWNoZWNrYm94IHtcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICM2ZDZkNmQ7XG4gICAgICAgIGJveC1zaXppbmc6Ym9yZGVyLWJveDtcbiAgICAgICAgLnRyYW5zaXRpb24oMzAwbXMpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OicgJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgbGVmdDogLTJweDtcbiAgICAgICAgICAgIHRvcDogLTJweDtcbiAgICAgICAgICAgIC50cmFuc2l0aW9uKDMwMG1zKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyO1xuICAgICAgICAgICAgLmVuY29kZWQtc3ZnLWJhY2tncm91bmQoXCI8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI2ZmZmZmZicgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnPjxwYXRoIGQ9J005IDE2LjE3TDQuODMgMTJsLTEuNDIgMS40MUw5IDE5IDIxIDdsLTEuNDEtMS40MXonLz48L3N2Zz5cIik7XG4gICAgICAgICAgICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG4gICAgICAgIH1cbiAgICB9XG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLCBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAmOmNoZWNrZWQgKyAuaXRlbS1tZWRpYSwgJjpjaGVja2VkIH4gLml0ZW0tYWZ0ZXIsICY6Y2hlY2tlZCB+IC5pdGVtLWlubmVye1xuICAgICAgICAgICAgaS5pY29uLWZvcm0tY2hlY2tib3gge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQHRoZW1lQ29sb3I7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHRoZW1lQ29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpLmljb24tZm9ybS1jaGVja2JveDphZnRlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbmxhYmVsLmxhYmVsLXJhZGlvIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgaS5pY29uLWZvcm0tcmFkaW8ge1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICM2ZDZkNmQ7XG4gICAgICAgIGJveC1zaXppbmc6Ym9yZGVyLWJveDtcbiAgICAgICAgLnRyYW5zaXRpb24oMzAwbXMpO1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6JyAnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEB0aGVtZUNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICAgIC50cmFuc2Zvcm0oc2NhbGUoMCkpO1xuICAgICAgICAgICAgLnRyYW5zaXRpb24oMzAwbXMpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSwgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgJjpjaGVja2VkICsgLml0ZW0tbWVkaWEsICY6Y2hlY2tlZCB+IC5pdGVtLWFmdGVyLCAmOmNoZWNrZWQgfiAuaXRlbS1pbm5lcntcbiAgICAgICAgICAgIGkuaWNvbi1mb3JtLXJhZGlvIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IEB0aGVtZUNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaS5pY29uLWZvcm0tcmFkaW86YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEB0aGVtZUNvbG9yO1xuICAgICAgICAgICAgICAgIC50cmFuc2Zvcm0oc2NhbGUoMSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxubGFiZWwubGFiZWwtY2hlY2tib3gsIGxhYmVsLmxhYmVsLXJhZGlvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB6LWluZGV4OiAwO1xuICAgIC50cmFuc2l0aW9uKDMwMG1zKTtcbiAgICAuaXRlbS1hZnRlciB7XG4gICAgICAgIGkuaWNvbi1mb3JtLWNoZWNrYm94LCBpLmljb24tZm9ybS1yYWRpbyB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5tZWRpYS1saXN0ICYsIC5tZWRpYS1pdGVtICYge1xuICAgICAgICAuaXRlbS1tZWRpYSB7XG4gICAgICAgICAgICBpLmljb24tZm9ybS1jaGVja2JveCwgaS5pY29uLWZvcm0tcmFkaW8ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgICAgICAgIH0gICAgICAgXG4gICAgICAgIH1cbiAgICB9XG4gICAgaHRtbDpub3QoLndhdGNoLWFjdGl2ZS1zdGF0ZSkgJjphY3RpdmUsICYuYWN0aXZlLXN0YXRlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjEpO1xuICAgICAgICAuaXRlbS1pbm5lciB7XG4gICAgICAgICAgICAuaGFpcmxpbmUtY29sb3IoYm90dG9tLCB0cmFuc3BhcmVudCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFNtYXJ0IHNlbGVjdHNcbi5zbWFydC1zZWxlY3Qge1xuICAgIHNlbGVjdCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuIiwiLyogPT09IEZsb2F0aW5nIEFjdGlvbiBCdXR0b24gPT09ICovXG4uZmxvYXRpbmctYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDE2cHg7XG4gICAgYm90dG9tOiAxNnB4O1xuICAgIHdpZHRoOiA1NnB4O1xuICAgIGhlaWdodDogNTZweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgei1pbmRleDogMTUwMDtcbiAgICAuZGVwdGgoMyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQHRoZW1lQ29sb3I7XG4gICAgY29sb3I6I2ZmZjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC50cmFuc2l0aW9uKDMwMG1zKTtcbiAgICAuZmxleGJveCgpO1xuICAgIC5hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIC5qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBodG1sOm5vdCgud2F0Y2gtYWN0aXZlLXN0YXRlKSAmOmFjdGl2ZSwgJi5hY3RpdmUtc3RhdGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oQHRoZW1lQ29sb3IsIDglKTtcbiAgICB9XG59XG4uZmxvYXRpbmctYnV0dG9uLXRvb2xiYXIsIC5zcGVlZC1kaWFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDE2cHg7XG4gICAgYm90dG9tOiAxNnB4O1xuICAgIHotaW5kZXg6IDE1MDA7XG4gICAgLmZsb2F0aW5nLWJ1dHRvbiB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG59XG4vLyBTcGVlZCBEaWFsXG4uc3BlZWQtZGlhbCB7XG4gICAgLmZsb2F0aW5nLWJ1dHRvbiB7XG4gICAgICAgIGkge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAudHJhbnNmb3JtKHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApIHJvdGF0ZSgwZGVnKSBzY2FsZSgxKSk7XG4gICAgICAgICAgICAudHJhbnNpdGlvbigzMDBtcyk7XG4gICAgICAgIH1cbiAgICAgICAgaSArIGkge1xuICAgICAgICAgICAgLnRyYW5zZm9ybSh0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKSByb3RhdGUoLTkwZGVnKSBzY2FsZSgwLjUpKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zcGVlZC1kaWFsLW9wZW5lZCB7XG4gICAgICAgIC5mbG9hdGluZy1idXR0b24ge1xuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgLnRyYW5zZm9ybSh0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKSByb3RhdGUoOTBkZWcpIHNjYWxlKDAuNSkpO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpICsgaSB7XG4gICAgICAgICAgICAgICAgLnRyYW5zZm9ybSh0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKSByb3RhdGUoMGRlZykgc2NhbGUoMSkpO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4uc3BlZWQtZGlhbC1idXR0b25zIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICBib3R0b206IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAuZmxleGJveCgpO1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlO1xuICAgIC1tb3otYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLW1vei1ib3gtZGlyZWN0aW9uOiByZXZlcnNlO1xuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBhIHtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdGhlbWVDb2xvcjtcbiAgICAgICAgaHRtbDpub3QoLndhdGNoLWFjdGl2ZS1zdGF0ZSkgJjphY3RpdmUsICYuYWN0aXZlLXN0YXRlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbihAdGhlbWVDb2xvciwgOCUpO1xuICAgICAgICB9XG4gICAgICAgIC50cmFuc2l0aW9uKDMwMG1zKTtcbiAgICAgICAgLmZsZXhib3goKTtcbiAgICAgICAgLmFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgIC5qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgICAgLnRyYW5zZm9ybSh0cmFuc2xhdGUzZCgwLCA4cHgsIDApIHNjYWxlKDAuMykpO1xuICAgICAgICAudHJhbnNmb3JtLW9yaWdpbihjZW50ZXIgYm90dG9tKTtcbiAgICAgICAgKyBhIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnNwZWVkLWRpYWwtb3BlbmVkICYge1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgLnRyYW5zZm9ybSh0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZVkoMSkpO1xuICAgICAgICAgICAgLmRlcHRoKDMpO1xuICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgIC5kZWxheSg1MG1zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgICAgICAuZGVsYXkoMTAwbXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtY2hpbGQoNCkge1xuICAgICAgICAgICAgICAgIC5kZWxheSgxNTBtcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZCg1KSB7XG4gICAgICAgICAgICAgICAgLmRlbGF5KDIwMG1zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDYpIHtcbiAgICAgICAgICAgICAgICAuZGVsYXkoMjUwbXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBQb3BvdmUgTW9ycGhcbi5mbG9hdGluZy1idXR0b24tdG8tcG9wb3ZlciB7XG4gICAgJi5mbG9hdGluZy1idXR0b24tdG8tcG9wb3ZlciB7XG4gICAgICAgIC50cmFuc2l0aW9uKDMwMG1zKTtcbiAgICB9XG4gICAgJi5mbG9hdGluZy1idXR0b24tdG8tcG9wb3Zlci1pbiB7XG4gICAgICAgIC50cmFuc2l0aW9uKDEwMG1zKTtcbiAgICAgICAgaSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgLnRyYW5zaXRpb24oMTAwbXMpO1xuICAgICAgICB9XG4gICAgfVxuICAgICYuZmxvYXRpbmctYnV0dG9uLXRvLXBvcG92ZXItc2NhbGUge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAudHJhbnNpdGlvbigzMDBtcyk7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICAgICYuZmxvYXRpbmctYnV0dG9uLXRvLXBvcG92ZXItb3V0IHtcbiAgICAgICAgLmRlbGF5KDBtcyk7XG4gICAgICAgIC50cmFuc2l0aW9uKDMwMG1zKTtcbiAgICAgICAgaSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgLnRyYW5zaXRpb24oMTAwbXMpO1xuICAgICAgICAgICAgLmRlbGF5KDIwMG1zKTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIvKiA9PT0gTW9kYWxzID09PSAqL1xuQG1vZGFsQmdDb2xvcjojZmZmO1xuQG1vZGFsQnV0b25Db2xvciA6ICM0Mjg1ZjQ7XG5AbW9kYWxCdXRvbkJnOiBAbW9kYWxCZ0NvbG9yO1xuQG1vZGFsRHVyYXRpb246NDAwbXM7XG5AYWN0aW9uc01vZGFsRHVyYXRpb246MzAwbXM7XG5AcG9wb3ZlckR1cmF0aW9uOiAzMDBtcztcbkBwb3B1cER1cmF0aW9uOiA0MDBtcztcbi5tb2RhbC1vdmVybGF5LCAucHJlbG9hZGVyLWluZGljYXRvci1vdmVybGF5LCAucG9wdXAtb3ZlcmxheSwgLnBpY2tlci1tb2RhbC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC40KTtcbiAgICB6LWluZGV4OiAxMzAwMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDtcbiAgICAudHJhbnNpdGlvbihAbW9kYWxEdXJhdGlvbik7XG4gICAgJi5tb2RhbC1vdmVybGF5LXZpc2libGUge1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cbi5wb3B1cC1vdmVybGF5IHtcbiAgICB6LWluZGV4OiAxMDUwMDtcbn1cbi5waWNrZXItbW9kYWwtb3ZlcmxheSB7XG4gICAgei1pbmRleDogMTIwMDA7XG59XG4ubW9kYWwge1xuICAgIHdpZHRoOiAyODBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTM1MDA7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMTQwcHg7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICAudHJhbnNmb3JtKHRyYW5zbGF0ZTNkKDAsMCwwKSBzY2FsZSgxLjE4NSkpO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiAtbW96LXRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAtbXMtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLW1zLXRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiAtby10cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIGNvbG9yOiM3NTc1NzU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAuZGVwdGgoNSk7XG4gICAgJi5tb2RhbC1pbiB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC50cmFuc2l0aW9uKEBtb2RhbER1cmF0aW9uKTtcbiAgICAgICAgLnRyYW5zZm9ybSh0cmFuc2xhdGUzZCgwLDAsMCkgc2NhbGUoMSkpO1xuICAgIH1cbiAgICAmLm1vZGFsLW91dCB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHotaW5kZXg6IDEzNTAwLTE7XG4gICAgICAgIC50cmFuc2l0aW9uKEBtb2RhbER1cmF0aW9uKTtcbiAgICAgICAgLnRyYW5zZm9ybSh0cmFuc2xhdGUzZCgwLDAsMCkgc2NhbGUoMC44MTUpKTtcbiAgICB9XG59XG4ubW9kYWwtaW5uZXIge1xuICAgIHBhZGRpbmc6IDI0cHggMjRweCAyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5tb2RhbC10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgY29sb3I6IzIxMjEyMTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICsubW9kYWwtdGV4dCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxufVxuLm1vZGFsLXRleHQge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG4ubW9kYWwtYnV0dG9ucyB7XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIHBhZGRpbmc6IDZweCA4cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3gtc2l6aW5nOmJvcmRlci1ib3g7XG4gICAgLmZsZXhib3goKTtcbiAgICAuanVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTtcbiAgICAmLm1vZGFsLWJ1dHRvbnMtdmVydGljYWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwIDAgOHB4IDA7XG4gICAgICAgIC5tb2RhbC1idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0OHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTZweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG4ubW9kYWwtYnV0dG9uLCAubW9kYWwtYnV0dG9ucyAuYnV0dG9uIHtcbiAgICAuYnV0dG9uO1xuICAgICYubW9kYWwtYnV0dG9uLWJvbGQge1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cbiAgICArIC5tb2RhbC1idXR0b24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgIH1cbn1cbi5tb2RhbC1uby1idXR0b25zIHtcbiAgICAubW9kYWwtYnV0dG9ucyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuLy8gQWN0aW9uIHNoZWV0XG4uYWN0aW9ucy1tb2RhbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IDEzNTAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgLnRyYW5zZm9ybSh0cmFuc2xhdGUzZCgwLDEwMCUsMCkpO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgLnNjcm9sbGFibGUoKTtcbiAgICAmLm1vZGFsLWluIHtcbiAgICAgICAgLnRyYW5zaXRpb24oQGFjdGlvbnNNb2RhbER1cmF0aW9uKTtcbiAgICAgICAgLnRyYW5zZm9ybSh0cmFuc2xhdGUzZCgwLDAsMCkpO1xuICAgIH1cbiAgICAmLm1vZGFsLW91dCB7XG4gICAgICAgIHotaW5kZXg6IDEzNTAwLTE7XG4gICAgICAgIC50cmFuc2l0aW9uKEBhY3Rpb25zTW9kYWxEdXJhdGlvbik7XG4gICAgICAgIC50cmFuc2Zvcm0odHJhbnNsYXRlM2QoMCwxMDAlLDApKTtcbiAgICB9XG59XG4uYWN0aW9ucy1tb2RhbC1ncm91cCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC5oYWlybGluZShib3R0b20sICNkMmQyZDYpO1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIC5oYWlybGluZS1yZW1vdmUoYm90dG9tKTtcbiAgICB9XG59XG4uYWN0aW9ucy1tb2RhbC1idXR0b24sIC5hY3Rpb25zLW1vZGFsLWxhYmVsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwIDE2cHg7XG4gICAgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICBiIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG4gICAgJi5hY3Rpb25zLW1vZGFsLWJ1dHRvbi1ib2xkIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG4gICAgJi5hY3Rpb25zLW1vZGFsLWJ1dHRvbi1yZWQge1xuICAgICAgICBjb2xvcjogQHJlZDtcbiAgICB9XG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIG9wYWNpdHk6IDAuOTU7XG4gICAgICAgIGNvbG9yOkBncmF5O1xuICAgIH1cbn1cbi5hY3Rpb25zLW1vZGFsLWJ1dHRvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGxpbmUtaGVpZ2h0OiA0OHB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogcmdiYSgwLDAsMCwwLjg3KTtcbiAgICAudHJhbnNpdGlvbigzMDBtcyk7XG4gICAgYSwgJiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7ICAgIFxuICAgIH1cbiAgICBodG1sOm5vdCgud2F0Y2gtYWN0aXZlLXN0YXRlKSAmOmFjdGl2ZSwgJi5hY3RpdmUtc3RhdGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMSk7XG4gICAgfVxufVxuLmFjdGlvbnMtbW9kYWwtbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogcmdiYSgwLDAsMCwwLjU0KTtcbiAgICBtaW4taGVpZ2h0OiA1NnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgcGFkZGluZy10b3A6IDEycHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEycHg7XG4gICAgLmZsZXhib3goKTtcbiAgICAuanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICAgIC5hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuLy8gUHJvbXB0XG5pbnB1dC5tb2RhbC10ZXh0LWlucHV0IHtcbiAgICBib3gtc2l6aW5nOmJvcmRlci1ib3g7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbXMtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIC50cmFuc2l0aW9uKDIwMG1zKTtcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICBjb2xvcjogcmdiYSgwLDAsMCwwLjM1KTtcbiAgICB9XG4gICAgKyBpbnB1dC5tb2RhbC10ZXh0LWlucHV0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICB9XG59XG4vLyBQb3BvdmVyXG4ucG9wb3ZlciB7XG4gICAgd2lkdGg6IDMyMHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgei1pbmRleDogMTM1MDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRvcDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC5kZXB0aCgyKTtcbiAgICAudHJhbnNmb3JtKHNjYWxlKDAuODUsIDAuNikpO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgLXdlYmtpdC10cmFuc2Zvcm0sIGJvcmRlci1yYWRpdXM7XG4gICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCAtbW96LXRyYW5zZm9ybSwgYm9yZGVyLXJhZGl1cztcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm0sIGJvcmRlci1yYWRpdXM7XG4gICAgJi5wb3BvdmVyLW9uLXRvcCB7XG4gICAgICAgIC50cmFuc2Zvcm0tb3JpZ2luKGNlbnRlciBib3R0b20pO1xuICAgIH1cbiAgICAmLnBvcG92ZXItb24tYm90dG9tIHtcbiAgICAgICAgLnRyYW5zZm9ybS1vcmlnaW4oY2VudGVyIHRvcCk7XG4gICAgfVxuICAgICYubW9kYWwtaW4ge1xuICAgICAgICAudHJhbnNmb3JtKHNjYWxlKDEpKTtcbiAgICAgICAgLnRyYW5zaXRpb24oQHBvcG92ZXJEdXJhdGlvbik7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgICYubW9kYWwtb3V0IHtcbiAgICAgICAgLnRyYW5zZm9ybShzY2FsZSgxKSk7XG4gICAgICAgIC50cmFuc2l0aW9uKEBwb3BvdmVyRHVyYXRpb24pO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAubGlzdC1ibG9jayB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgJjpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHVsIHtcbiAgICAgICAgICAgIC5oYWlybGluZS1yZW1vdmUodG9wKTtcbiAgICAgICAgICAgIC5oYWlybGluZS1yZW1vdmUoYm90dG9tKTtcbiAgICAgICAgfVxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgLmhhaXJsaW5lLXJlbW92ZSh0b3ApO1xuICAgICAgICB9XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweCAzcHggMCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGk6Zmlyc3QtY2hpbGQgYSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4IDNweCAwIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICAuaGFpcmxpbmUtcmVtb3ZlKGJvdHRvbSk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDNweCAzcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsaTpsYXN0LWNoaWxkIGEge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAzcHggM3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBsaTpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIGEsIHVsOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnBvcG92ZXItZmxvYXRpbmctYnV0dG9uIHtcbiAgICAgICAgLnRyYW5zZm9ybS1vcmlnaW4oY2VudGVyIGNlbnRlcik7XG4gICAgICAgIC50cmFuc2Zvcm0oc2NhbGUoMC43KSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgLmRlcHRoKDMpO1xuICAgICAgICAmLm1vZGFsLWluIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAlO1xuICAgICAgICAgICAgLnRyYW5zZm9ybShzY2FsZSgxKSk7XG4gICAgICAgICAgICAuZGVsYXkoMjAwbXMpO1xuICAgICAgICAgICAgLnRyYW5zaXRpb24oMjAwbXMpO1xuICAgICAgICB9XG4gICAgICAgICYubW9kYWwtb3V0IHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIC50cmFuc2Zvcm0oc2NhbGUoMC43KSk7XG4gICAgICAgICAgICAuZGVsYXkoMG1zKTtcbiAgICAgICAgICAgIC50cmFuc2l0aW9uKDEwMG1zKTtcbiAgICAgICAgfVxuICAgICAgICAubGlzdC1ibG9jayB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGxpOmZpcnN0LWNoaWxkIGEge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBsaTpsYXN0LWNoaWxkIGEge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbGk6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCBhLCB1bDpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4ucG9wb3Zlci1pbm5lciB7XG4gICAgLnNjcm9sbGFibGUoKTtcbn1cbi5hY3Rpb25zLXBvcG92ZXIge1xuICAgIC5saXN0LWJsb2NrIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbn1cbi5hY3Rpb25zLXBvcG92ZXItbGFiZWwge1xuICAgIHBhZGRpbmc6IDhweCAxNnB4O1xuICAgIGNvbG9yOnJnYmEoMCwwLDAsMC41NCk7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgcGFkZGluZy10b3A6IDEycHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEycHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC5oYWlybGluZShib3R0b20sICNkMmQyZDYpO1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIC5oYWlybGluZS1yZW1vdmUoYm90dG9tKTtcbiAgICB9XG59XG4vLyBQb3B1cFxuLnBvcHVwLCAubG9naW4tc2NyZWVuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDExMDAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm94LXNpemluZzpib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLnNjcm9sbGFibGUoKTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuICAgIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogLW1vei10cmFuc2Zvcm07XG4gICAgLW1zLXRyYW5zaXRpb24tcHJvcGVydHk6IC1tcy10cmFuc2Zvcm07XG4gICAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogLW8tdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICAudHJhbnNsYXRlM2QoMCwxMDAlLDApO1xuICAgICYubW9kYWwtaW4sICYubW9kYWwtb3V0IHtcbiAgICAgICAgLnRyYW5zaXRpb24oQHBvcHVwRHVyYXRpb24pO1xuICAgIH1cbiAgICAmLm1vZGFsLWluIHtcbiAgICAgICAgLnRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICB9XG4gICAgJi5tb2RhbC1vdXQge1xuICAgICAgICAudHJhbnNsYXRlM2QoMCwxMDAlLDApO1xuICAgIH1cbn1cbi5sb2dpbi1zY3JlZW4ubW9kYWwtaW4sIC5sb2dpbi1zY3JlZW4ubW9kYWwtb3V0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbi8vIGlQYWQgUG9wdXBcbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6NjMwcHgpIGFuZCAobWluLWhlaWdodDo2MzBweCkge1xuICAgIC5wb3B1cDpub3QoLnRhYmxldC1mdWxsc2NyZWVuKSB7XG4gICAgICAgIHdpZHRoOiA2MzBweDtcbiAgICAgICAgaGVpZ2h0OiA2MzBweDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0zMTVweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTMxNXB4O1xuICAgICAgICBib3gtc2hhZG93OiAwcHggMjBweCA0NHB4IHJnYmEoMCwwLDAsMC41KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICAudHJhbnNsYXRlM2QoMCwxMDI0cHgsMCk7XG4gICAgICAgICYubW9kYWwtaW4ge1xuICAgICAgICAgICAgLnRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAgICAgfVxuICAgICAgICAmLm1vZGFsLW91dCB7XG4gICAgICAgICAgICAudHJhbnNsYXRlM2QoMCwxMDI0cHgsMCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5odG1sLndpdGgtc3RhdHVzYmFyLW92ZXJsYXkge1xuICAgIC8vIGlQaG9uZSB3aXRoIHN0YXR1c2JhciBvdmVybGF5XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDo2MjlweCksIChtYXgtaGVpZ2h0OjYyOXB4KSB7XG4gICAgICAgIC5wb3B1cCB7XG4gICAgICAgICAgICBoZWlnaHQ6IH5cIi13ZWJraXQtY2FsYygxMDAlIC0gMjBweClcIjtcbiAgICAgICAgICAgIGhlaWdodDogflwiY2FsYygxMDAlIC0gMjBweClcIjtcbiAgICAgICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgfVxuICAgICAgICAucG9wdXAtb3ZlcmxheSB7XG4gICAgICAgICAgICB6LWluZGV4OiA5NTAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5sb2dpbi1zY3JlZW4sIC5wb3B1cC50YWJsZXQtZnVsbHNjcmVlbiB7XG4gICAgICAgIGhlaWdodDogflwiLXdlYmtpdC1jYWxjKDEwMCUgLSAyMHB4KVwiO1xuICAgICAgICBoZWlnaHQ6IH5cImNhbGMoMTAwJSAtIDIwcHgpXCI7XG4gICAgICAgIHRvcDogMjBweDtcbiAgICB9XG59XG5cbi8vUHJlbG9hZGVycyBtb2RhbHNcbi5tb2RhbC1wcmVsb2FkZXIge1xuICAgIC5tb2RhbC10aXRsZSwgLm1vZGFsLWlubmVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cbi5wcmVsb2FkZXItaW5kaWNhdG9yLW92ZXJsYXkge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xufVxuLnByZWxvYWRlci1pbmRpY2F0b3ItbW9kYWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMjRweDtcbiAgICBtYXJnaW4tdG9wOiAtMjRweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuOCk7XG4gICAgei1pbmRleDogMTM1MDA7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIC5wcmVsb2FkZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cbi8vIFBpY2tlciBNb2RhbFxuLnBpY2tlci1tb2RhbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMjYwcHg7XG4gICAgei1pbmRleDogMTIwMDA7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuICAgIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogLW1vei10cmFuc2Zvcm07XG4gICAgLW1zLXRyYW5zaXRpb24tcHJvcGVydHk6IC1tcy10cmFuc2Zvcm07XG4gICAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogLW8tdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIC50cmFuc2xhdGUzZCgwLDEwMCUsMCk7XG4gICAgJi5tb2RhbC1pbiwgJi5tb2RhbC1vdXQge1xuICAgICAgICAudHJhbnNpdGlvbig0MDBtcyk7XG4gICAgfVxuICAgICYubW9kYWwtaW4ge1xuICAgICAgICAudHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIH1cbiAgICAmLm1vZGFsLW91dCB7XG4gICAgICAgIC50cmFuc2xhdGUzZCgwLDEwMCUsMCk7XG4gICAgfVxuICAgIC5waWNrZXItbW9kYWwtaW5uZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgLnRvb2xiYXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgICsgLnBpY2tlci1tb2RhbC1pbm5lciB7XG4gICAgICAgICAgICBoZWlnaHQ6IH5cIi13ZWJraXQtY2FsYygxMDAlIC0gQHt0b29sYmFyU2l6ZX0pXCI7XG4gICAgICAgICAgICBoZWlnaHQ6IH5cIi1tb3otY2FsYygxMDAlIC0gQHt0b29sYmFyU2l6ZX0pXCI7XG4gICAgICAgICAgICBoZWlnaHQ6IH5cImNhbGMoMTAwJSAtIEB7dG9vbGJhclNpemV9KVwiOyAgICBcbiAgICAgICAgfVxuICAgICAgICBhLmxpbmsge1xuICAgICAgICAgICAgLmZsZXgtc2hyaW5rKDApO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5waWNrZXItaGVhZGVyLCAucGlja2VyLWZvb3RlciB7XG4gICAgICAgIGhlaWdodDogQHRvb2xiYXJTaXplO1xuICAgIH1cbiAgICAucGlja2VyLWhlYWRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IEB0aGVtZUNvbG9yO1xuICAgICAgICArIC50b29sYmFyIC50b29sYmFyLWlubmVyIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICB9XG4gICAgICAgICsgLnBpY2tlci1mb290ZXIgKyAudG9vbGJhciArIC5waWNrZXItbW9kYWwtaW5uZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiB+XCItd2Via2l0LWNhbGMoMTAwJSAtIEB7dG9vbGJhclNpemV9ICogMylcIjtcbiAgICAgICAgICAgIGhlaWdodDogflwiLW1vei1jYWxjKDEwMCUgLSBAe3Rvb2xiYXJTaXplfSAqIDMpXCI7XG4gICAgICAgICAgICBoZWlnaHQ6IH5cImNhbGMoMTAwJSAtIEB7dG9vbGJhclNpemV9ICogMylcIjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAucGlja2VyLWZvb3RlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgLm1vZGFsLWJ1dHRvbnM7XG4gICAgICAgIFxuICAgIH1cbiAgICAucGlja2VyLWhlYWRlciwgLnBpY2tlci1mb290ZXIge1xuICAgICAgICArIC5waWNrZXItbW9kYWwtaW5uZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiB+XCItd2Via2l0LWNhbGMoMTAwJSAtIEB7dG9vbGJhclNpemV9KVwiO1xuICAgICAgICAgICAgaGVpZ2h0OiB+XCItbW96LWNhbGMoMTAwJSAtIEB7dG9vbGJhclNpemV9KVwiO1xuICAgICAgICAgICAgaGVpZ2h0OiB+XCJjYWxjKDEwMCUgLSBAe3Rvb2xiYXJTaXplfSlcIjsgICAgXG4gICAgICAgIH1cbiAgICAgICAgKyAudG9vbGJhciArIC5waWNrZXItbW9kYWwtaW5uZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiB+XCItd2Via2l0LWNhbGMoMTAwJSAtIEB7dG9vbGJhclNpemV9ICogMilcIjtcbiAgICAgICAgICAgIGhlaWdodDogflwiLW1vei1jYWxjKDEwMCUgLSBAe3Rvb2xiYXJTaXplfSAqIDIpXCI7XG4gICAgICAgICAgICBoZWlnaHQ6IH5cImNhbGMoMTAwJSAtIEB7dG9vbGJhclNpemV9ICogMilcIjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnBpY2tlci1tb2RhbC1pbmxpbmUsIC5wb3BvdmVyICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICB6LWluZGV4OiBpbmhlcml0O1xuICAgICAgICAudHJhbnNsYXRlM2QoMCwwLDApO1xuICAgICAgICAudG9vbGJhciB7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnBvcG92ZXIgJiB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAudG9vbGJhcjpmaXJzdC1jaGlsZCwgLnBpY2tlci1oZWFkZXI6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4IDJweCAwIDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zbWFydC1zZWxlY3QtcGlja2VyIHtcbiAgICAgICAgLmxpc3QtYmxvY2sge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIC5oYWlybGluZS1yZW1vdmUodG9wKTtcbiAgICAgICAgICAgICAgICAuaGFpcmxpbmUtcmVtb3ZlKGJvdHRvbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLyogPT09IFRvdWNoIHJpcHBsZSA9PT0gKi9cbi8vIFJpcHBsZSBFbGVtZW50c1xuLnJpcHBsZSwgYS5mbG9hdGluZy1idXR0b24sIC5mbG9hdGluZy1idXR0b24gPiBhLCBhLmxpbmssIGEuaXRlbS1saW5rLCAuYnV0dG9uLCAubW9kYWwtYnV0dG9uLCAudGFiLWxpbmssIC5sYWJlbC1yYWRpbywgLmxhYmVsLWNoZWNrYm94LCAuYWN0aW9ucy1tb2RhbC1idXR0b24sIC5zcGVlZC1kaWFsLWJ1dHRvbnMgYSB7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi8vIFJpcHBsZVxuLnJpcHBsZS13YXZlIHtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgei1pbmRleDotMTtcbiAgICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDA7XG4gICAgLnRyYW5zZm9ybSh0cmFuc2xhdGUzZCgwcHgsIDBweCwgMCkgc2NhbGUoMCkpO1xuICAgIC50cmFuc2l0aW9uKDE0MDBtcyk7XG4gICAgJi5yaXBwbGUtd2F2ZS1maWxsIHtcbiAgICAgICAgLnRyYW5zaXRpb24oMzAwbXMpO1xuICAgICAgICBvcGFjaXR5OiAwLjM1O1xuICAgIH1cbiAgICAmLnJpcHBsZS13YXZlLW91dCB7XG4gICAgICAgIC50cmFuc2l0aW9uKDYwMG1zKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgLmJ1dHRvbi1maWxsICYsICAucGlja2VyLWNhbGVuZGFyLWRheSAme1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cbn1cbi5idXR0b24tZmlsbCwgLm5hdmJhciwgLnRvb2xiYXIsIC5zdWJuYXZiYXIsIC5zZWFyY2hiYXIsIC5ub3RpZmljYXRpb25zLCAuZmxvYXRpbmctYnV0dG9uLCAuc3BlZWQtZGlhbC1idXR0b25zIGEge1xuICAgIC5yaXBwbGUtd2F2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjMpO1xuICAgIH1cbn1cbi5tZXNzYWdlYmFyIHtcbiAgICAucmlwcGxlLXdhdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtcbiAgICB9XG59XG4iLCIvLyBBY3RpdmUgYnV0dG9uIGljb24gY29sb3JcblxuLmJ1dHRvbiB7XG4gICYuYWN0aXZlIHtcbiAgICBpLmljb24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICB9XG4gIH1cbn1cbiIsIi8qID09PSBQYW5lbHMgPT09ICovXG5AcGFuZWxXaWR0aDoyNjBweDtcbkBwYW5lbHNEdXJhdGlvbjogMzAwbXM7XG4ucGFuZWwtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMik7XG4gICAgb3BhY2l0eTogMDtcbiAgICB6LWluZGV4OiA1OTk5O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLnRyYW5zZm9ybSh0cmFuc2xhdGUzZCgwLDAsMCkpO1xuICAgIC50cmFuc2l0aW9uKEBwYW5lbHNEdXJhdGlvbik7XG59XG4ucGFuZWwge1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLnNjcm9sbGFibGUoKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IEBwYW5lbFdpZHRoO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLnRyYW5zbGF0ZTNkKDApO1xuICAgIC50cmFuc2l0aW9uKEBwYW5lbHNEdXJhdGlvbik7XG5cbiAgICAmLnBhbmVsLWxlZnQge1xuXG4gICAgICAgICYucGFuZWwtY292ZXIge1xuICAgICAgICAgICAgei1pbmRleDogNjAwMDtcbiAgICAgICAgICAgIGxlZnQ6IC1AcGFuZWxXaWR0aDtcbiAgICAgICAgfVxuICAgICAgICAmLnBhbmVsLXJldmVhbCB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgICYucGFuZWwtcmlnaHQge1xuICAgICAgICAmLnBhbmVsLWNvdmVyIHtcbiAgICAgICAgICAgIHotaW5kZXg6IDYwMDA7XG4gICAgICAgICAgICByaWdodDogLUBwYW5lbFdpZHRoO1xuICAgICAgICB9XG4gICAgICAgICYucGFuZWwtcmV2ZWFsIHtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuYm9keS53aXRoLXBhbmVsLWxlZnQtY292ZXIsIGJvZHkud2l0aC1wYW5lbC1yaWdodC1jb3ZlciB7XG4gICAgLnBhbmVsIHtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAyMHB4IHJnYmEoMCwwLDAsMC41KTtcbiAgICB9XG4gICAgLnZpZXdzIHtcbiAgICAgICAgLnRyYW5zbGF0ZTNkKDApO1xuICAgIH1cbiAgICAucGFuZWwtb3ZlcmxheSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cbmJvZHkud2l0aC1wYW5lbC1sZWZ0LXJldmVhbCwgYm9keS53aXRoLXBhbmVsLXJpZ2h0LXJldmVhbCB7XG4gICAgLnZpZXdzIHtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAyMHB4IHJnYmEoMCwwLDAsMC41KTtcbiAgICAgICAgLnRyYW5zaXRpb24oQHBhbmVsc0R1cmF0aW9uKTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybSwgYm94LXNoYWRvdztcbiAgICAgICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiAtbW96LXRyYW5zZm9ybSwgYm94LXNoYWRvdztcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBib3gtc2hhZG93O1xuICAgIH1cbiAgICAucGFuZWwtb3ZlcmxheSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMCk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbn1cbmJvZHkud2l0aC1wYW5lbC1sZWZ0LXJldmVhbCB7XG4gICAgLnZpZXdzIHtcbiAgICAgICAgLnRyYW5zbGF0ZTNkKEBwYW5lbFdpZHRoKTtcbiAgICB9XG4gICAgLnBhbmVsLW92ZXJsYXkge1xuICAgICAgICAudHJhbnNsYXRlM2QoQHBhbmVsV2lkdGgpO1xuICAgIH1cbn1cbmJvZHkud2l0aC1wYW5lbC1sZWZ0LWNvdmVyIHtcbiAgICAucGFuZWwtbGVmdCB7XG4gICAgICAgIC50cmFuc2xhdGUzZChAcGFuZWxXaWR0aCk7XG4gICAgfVxufVxuYm9keS53aXRoLXBhbmVsLXJpZ2h0LXJldmVhbCB7XG4gICAgLnZpZXdzIHtcbiAgICAgICAgLnRyYW5zbGF0ZTNkKC1AcGFuZWxXaWR0aCk7XG4gICAgfVxuICAgIC5wYW5lbC1vdmVybGF5IHtcbiAgICAgICAgLnRyYW5zbGF0ZTNkKC1AcGFuZWxXaWR0aCk7XG4gICAgfVxufVxuYm9keS53aXRoLXBhbmVsLXJpZ2h0LWNvdmVyIHtcbiAgICAucGFuZWwtcmlnaHQge1xuICAgICAgICAudHJhbnNsYXRlM2QoLUBwYW5lbFdpZHRoKTtcbiAgICB9XG59XG5ib2R5LnBhbmVsLWNsb3Npbmcge1xuICAgIC5wYW5lbC1vdmVybGF5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIC52aWV3cyB7XG4gICAgICAgIC50cmFuc2l0aW9uKEBwYW5lbHNEdXJhdGlvbik7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm0sIGJveC1zaGFkb3c7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogLW1vei10cmFuc2Zvcm0sIGJveC1zaGFkb3c7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgYm94LXNoYWRvdztcbiAgICB9XG59IiwiLyogPT09IFRhYnMgPT09ICovXG4udGFicyB7XG4gICAgLnRhYiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC50YWIuYWN0aXZlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuLnRhYnMtYW5pbWF0ZWQtd3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgID4udGFicyB7XG4gICAgICAgIC5mbGV4Ym94KCk7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgLnRyYW5zaXRpb24oMzAwbXMpO1xuICAgICAgICA+LnRhYiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgLmZsZXgtc2hyaW5rKDApO1xuICAgICAgICB9XG4gICAgfVxufVxuLnRhYnMtc3dpcGVhYmxlLXdyYXAge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICA+IC50YWJzID4gLnRhYiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn0iLCIvKiA9PT0gTWVzc2FnZXMgPT09ICovXG5AbWVzc2FnZXNBdmF0YXJTaXplOiA0OHB4O1xuLm1lc3NhZ2VzLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6ICNlZWU7XG59XG4ubWVzc2FnZXMge1xuICAgIC5mbGV4Ym94KCk7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtbW96LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLm1lc3NhZ2VzLWRhdGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW46IDEwcHggMTVweDtcbiAgICBzcGFuIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG59XG4ubWVzc2FnZSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXJnaW46IDBweCA4cHggOHB4IDhweDtcbiAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICAuZmxleGJveCgpO1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLW1vei1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIH1cbiAgICAmLm1lc3NhZ2UtcGljIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuLm1lc3NhZ2UtbmFtZSwgLm1lc3NhZ2UtbGFiZWwsIC5tZXNzYWdlLWRhdGUsIC5tZXNzYWdlcy1kYXRlIHtcbiAgICBjb2xvcjpyZ2JhKDAsMCwwLDAuNTEpO1xufVxuLm1lc3NhZ2UtbmFtZSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICBtYXJnaW4tdG9wOiA3cHg7XG4gICAgLm1lc3NhZ2UtaGlkZS1uYW1lICYge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbi5tZXNzYWdlLWxhYmVsIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIC5tZXNzYWdlLWhpZGUtbGFiZWwgJiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuLm1lc3NhZ2UtYXZhdGFyIHtcbiAgICB3aWR0aDogQG1lc3NhZ2VzQXZhdGFyU2l6ZTtcbiAgICBoZWlnaHQ6IEBtZXNzYWdlc0F2YXRhclNpemU7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAtQG1lc3NhZ2VzQXZhdGFyU2l6ZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC50cmFuc2l0aW9uKDQwMG1zKTtcbiAgICAubWVzc2FnZS1oaWRlLWF2YXRhciAmIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG4ubWVzc2FnZS10ZXh0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBwYWRkaW5nOiA2cHggOHB4O1xuICAgIG1pbi13aWR0aDogNDhweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIGNvbG9yOiMzMzM7XG4gICAgbWluLWhlaWdodDogQG1lc3NhZ2VzQXZhdGFyU2l6ZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLnRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gICAgLm1lc3NhZ2UtcGljICYge1xuICAgICAgICBwYWRkaW5nOiA4cHg7XG4gICAgfVxufVxuLm1lc3NhZ2UtZGF0ZSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAubWVzc2FnZS1waWMgaW1nICsgJiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICB9XG59XG4ubWVzc2FnZS1zZW50IHtcbiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBlbmQ7XG4gICAgLXdlYmtpdC1hbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAuYWxpZ24taXRlbXMoZmxleC1lbmQpO1xuICAgIC5tZXNzYWdlLW5hbWUsIC5tZXNzYWdlLWxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgfVxuICAgIC5tZXNzYWdlLXRleHQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzhFNkM5O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4IDJweCAwIDJweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogOHB4IHNvbGlkICNDOEU2Qzk7XG4gICAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5tZXNzYWdlLXdpdGgtYXZhdGFyIHtcbiAgICAgICAgLm1lc3NhZ2UtdGV4dCwgLm1lc3NhZ2UtbmFtZSwgLm1lc3NhZ2UtbGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBAbWVzc2FnZXNBdmF0YXJTaXplICsgOHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuLm1lc3NhZ2UtcmVjZWl2ZWQge1xuICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IHN0YXJ0O1xuICAgIC13ZWJraXQtYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIC5hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbiAgICAubWVzc2FnZS10ZXh0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4IDJweCAycHggMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCAjZmZmO1xuICAgICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubWVzc2FnZS1uYW1lLCAubWVzc2FnZS1sYWJlbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgfVxuICAgICYubWVzc2FnZS13aXRoLWF2YXRhciB7XG4gICAgICAgIC5tZXNzYWdlLXRleHQsIC5tZXNzYWdlLW5hbWUsIC5tZXNzYWdlLWxhYmVsIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBAbWVzc2FnZXNBdmF0YXJTaXplICsgOHB4O1xuICAgICAgICB9XG4gICAgfSAgICBcbn1cblxuLm1lc3NhZ2UtYXBwZWFyLWZyb20tYm90dG9tIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogbWVzc2FnZUFwcGVhckZyb21Cb3R0b20gNDAwbXM7XG4gICAgYW5pbWF0aW9uOiBtZXNzYWdlQXBwZWFyRnJvbUJvdHRvbSA0MDBtcztcbn1cbi5tZXNzYWdlLWFwcGVhci1mcm9tLXRvcCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IG1lc3NhZ2VBcHBlYXJGcm9tVG9wIDQwMG1zO1xuICAgIGFuaW1hdGlvbjogbWVzc2FnZUFwcGVhckZyb21Ub3AgNDAwbXM7ICAgXG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBtZXNzYWdlQXBwZWFyRnJvbUJvdHRvbSB7XG4gICAgZnJvbSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDEwMCUsMCk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIG1lc3NhZ2VBcHBlYXJGcm9tQm90dG9tIHtcbiAgICBmcm9tIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDEwMCUsMCk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIG1lc3NhZ2VBcHBlYXJGcm9tVG9wIHtcbiAgICBmcm9tIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTEwMCUsMCk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIG1lc3NhZ2VBcHBlYXJGcm9tVG9wIHtcbiAgICBmcm9tIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC0xMDAlLDApO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIH1cbn1cbiIsIi8qID09PSBTdGF0dXNiYXIgb3ZlcmxheSA9PT0gKi9cbmh0bWwud2l0aC1zdGF0dXNiYXItb3ZlcmxheSBib2R5e1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLnN0YXR1c2Jhci1vdmVybGF5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIC5wYW5lbCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIH1cbn1cbi5zdGF0dXNiYXItb3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZDogQHRoZW1lQ29sb3I7XG4gICAgei1pbmRleDogMTAwMDA7IC8vIEEgYml0IGxvd2VyIHRoYW4gLm1vZGFscy1vdmVybGF5XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC50cmFuc2l0aW9uKEBwYW5lbHNEdXJhdGlvbik7XG59IiwiLyogPT09XG4gICAgUHJlbG9hZGVyXG4gICAgQnkgUnVkaSBUaGV1bmlzc2VuIChodHRwczovL2dpdGh1Yi5jb20vcnRoZXVuaXNzZW4vbWQtcHJlbG9hZGVyKVxuPT09ICovXG4ucHJlbG9hZGVyIHtcbiAgICBAZWFzaW5nOiAgICAgIGN1YmljLWJlemllciguOCwuMCwuNCwuOCk7XG5cbiAgICBAc3BlZWQ6ICAgICAgMTMyMG1zOyAgICAgICAvLyBhbmltYXRpb24gdGltZSBmb3IgZWFjaCBsb29wXG4gICAgQGNvbG9yOiAgICAgICM3NTc1NzU7ICAgICAgLy8gQmx1ZSBBMjAwIGluIHRoZSBNYXRlcmlhbCBEZXNpZ24gY29sb3IgcGFsZXR0ZVxuICAgIEBsaW5lY2FwOiAgICBzcXVhcmU7ICAgICAgIC8vIGNvdWxkIGJlICdyb3VuZCcsIGJ1dCB0aGUgb2ZmaWNpYWwgb25lIGlzIHNxdWFyZVxuICAgIEBsb29wczogICAgICA1OyAgICAgICAgICAgIC8vIG51bWJlciBvZiBwb2ludHMgd2hlcmUgdGhlIGFyYyBtZWV0c1xuICAgIEBhcmM6ICAgICAgICAwLjcyOyAgICAgICAgIC8vIGZyYWN0aW9uIG9mIHRoZSBjaXJjdW1mZXJlbmNlIHRoYXQgdGhlIGFyYyBncm93cyB0b1xuICAgIEBwZXJpbWV0ZXI6ICA2N3B4ICogcGkoKTsgIC8vIGNpcmN1bWZlcmVuY2Ugb2YgdGhlIHJhdyBzdmcgaW5uZXIgY3JpY2xlXG5cbiAgICBmb250LXNpemU6IDA7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBwcmVsb2FkZXItb3V0ZXIgQHNwZWVkICogQGxvb3BzIC8gMiBsaW5lYXIgaW5maW5pdGU7XG4gICAgYW5pbWF0aW9uOiBwcmVsb2FkZXItb3V0ZXIgQHNwZWVkICogQGxvb3BzIC8gMiBsaW5lYXIgaW5maW5pdGU7XG5cbiAgICBzdmcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbjogcHJlbG9hZGVyLWlubmVyIEBzcGVlZCBsaW5lYXIgaW5maW5pdGU7XG4gICAgICAgIGFuaW1hdGlvbjogcHJlbG9hZGVyLWlubmVyIEBzcGVlZCBsaW5lYXIgaW5maW5pdGU7XG5cbiAgICAgICAgY2lyY2xlIHtcbiAgICAgICAgICAgIGZpbGw6IG5vbmU7XG4gICAgICAgICAgICBzdHJva2U6IEBjb2xvcjtcbiAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwOiBAbGluZWNhcDtcbiAgICAgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBwcmVsb2FkZXItYXJjIEBzcGVlZCBAZWFzaW5nIGluZmluaXRlO1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBwcmVsb2FkZXItYXJjIEBzcGVlZCBAZWFzaW5nIGluZmluaXRlO1xuICAgICAgICB9XG4gICAgfVxuICAgIEAtd2Via2l0LWtleWZyYW1lcyBwcmVsb2FkZXItb3V0ZXIge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgcHJlbG9hZGVyLW91dGVyIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzIHByZWxvYWRlci1pbm5lciB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTM2MGRlZyAqICgxIC0gQGFyYykpO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAa2V5ZnJhbWVzIHByZWxvYWRlci1pbm5lciB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0zNjBkZWcgKiAoMSAtIEBhcmMpKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICB9XG4gICAgfVxuICAgIEAtd2Via2l0LWtleWZyYW1lcyBwcmVsb2FkZXItYXJjIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgc3Ryb2tlLWRhc2hhcnJheTogMSBAcGVyaW1ldGVyO1xuICAgICAgICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgNDAlIHtcbiAgICAgICAgICAgIHN0cm9rZS1kYXNoYXJyYXk6IEBhcmMgKiBAcGVyaW1ldGVyLCBAcGVyaW1ldGVyO1xuICAgICAgICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICBzdHJva2UtZGFzaGFycmF5OiAxIEBwZXJpbWV0ZXI7XG4gICAgICAgICAgICBzdHJva2UtZGFzaG9mZnNldDogLUBhcmMgKiBAcGVyaW1ldGVyO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgcHJlbG9hZGVyLWFyYyB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIHN0cm9rZS1kYXNoYXJyYXk6IDEgQHBlcmltZXRlcjtcbiAgICAgICAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICAgICAgICB9XG4gICAgICAgIDQwJSB7XG4gICAgICAgICAgICBzdHJva2UtZGFzaGFycmF5OiBAYXJjICogQHBlcmltZXRlciwgQHBlcmltZXRlcjtcbiAgICAgICAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgc3Ryb2tlLWRhc2hhcnJheTogMSBAcGVyaW1ldGVyO1xuICAgICAgICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IC1AYXJjICogQHBlcmltZXRlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cbi5wcmVsb2FkZXItaW5uZXIge1xuICAgIEBwcmVsb2FkZXItaW5uZXItZWFzZTogY3ViaWMtYmV6aWVyKDAuMzUsIDAsIDAuMjUsIDEpO1xuICAgIEBwcmVsb2FkZXItaW5uZXItZHVyYXRpb246IDUuMjVzO1xuICAgIEBwcmVsb2FkZXItaW5uZXItY2lyY2xlLWR1cmF0aW9uOiBAcHJlbG9hZGVyLWlubmVyLWR1cmF0aW9uICogMC4yNTtcbiAgICBAcHJlbG9hZGVyLWlubmVyLW91dGVyLWR1cmF0aW9uOiBAcHJlbG9hZGVyLWlubmVyLWR1cmF0aW9uICogKDUvOSk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBwcmVsb2FkZXItaW5uZXItcm90YXRlIEBwcmVsb2FkZXItaW5uZXItZHVyYXRpb24gQHByZWxvYWRlci1pbm5lci1lYXNlIGluZmluaXRlO1xuICAgIGFuaW1hdGlvbjogcHJlbG9hZGVyLWlubmVyLXJvdGF0ZSBAcHJlbG9hZGVyLWlubmVyLWR1cmF0aW9uIEBwcmVsb2FkZXItaW5uZXItZWFzZSBpbmZpbml0ZTtcbiAgICAucHJlbG9hZGVyLWlubmVyLWdhcCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCAjNzU3NTc1O1xuICAgIH1cbiAgICAucHJlbG9hZGVyLWlubmVyLWxlZnQsIC5wcmVsb2FkZXItaW5uZXItcmlnaHQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgICAucHJlbG9hZGVyLWlubmVyLWhhbGYtY2lyY2xlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDIwMCU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJvcmRlcjogNHB4IHNvbGlkICM3NTc1NzU7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IChAcHJlbG9hZGVyLWlubmVyLWR1cmF0aW9uICogMC4yNSk7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogQHByZWxvYWRlci1pbm5lci1lYXNlO1xuICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAoQHByZWxvYWRlci1pbm5lci1kdXJhdGlvbiAqIDAuMjUpO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBAcHJlbG9hZGVyLWlubmVyLWVhc2U7XG4gICAgfVxuICAgIC5wcmVsb2FkZXItd2hpdGUgJiB7XG4gICAgICAgIC5wcmVsb2FkZXItaW5uZXItZ2FwLCAucHJlbG9hZGVyLWlubmVyLWhhbGYtY2lyY2xlIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAucHJlbG9hZGVyLWlubmVyLWxlZnQge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAucHJlbG9hZGVyLWlubmVyLWhhbGYtY2lyY2xlIHtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBwcmVsb2FkZXItbGVmdC1yb3RhdGU7XG4gICAgICAgICAgICBhbmltYXRpb24tbmFtZTogcHJlbG9hZGVyLWxlZnQtcm90YXRlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wcmVsb2FkZXItaW5uZXItcmlnaHQge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgLnByZWxvYWRlci1pbm5lci1oYWxmLWNpcmNsZSB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcHJlbG9hZGVyLXJpZ2h0LXJvdGF0ZTtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBwcmVsb2FkZXItcmlnaHQtcm90YXRlO1xuICAgICAgfVxuICAgIH1cbiAgICAuY29sb3ItbXVsdGkgJiB7XG4gICAgICAgIC5wcmVsb2FkZXItaW5uZXItbGVmdCB7XG4gICAgICAgICAgICAucHJlbG9hZGVyLWlubmVyLWhhbGYtY2lyY2xlIHtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBwcmVsb2FkZXItbGVmdC1yb3RhdGUtbXVsdGljb2xvcjtcbiAgICAgICAgICAgICAgICBhbmltYXRpb24tbmFtZTogcHJlbG9hZGVyLWxlZnQtcm90YXRlLW11bHRpY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnByZWxvYWRlci1pbm5lci1yaWdodCB7XG4gICAgICAgICAgICAucHJlbG9hZGVyLWlubmVyLWhhbGYtY2lyY2xlIHtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBwcmVsb2FkZXItcmlnaHQtcm90YXRlLW11bHRpY29sb3I7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHByZWxvYWRlci1yaWdodC1yb3RhdGUtbXVsdGljb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcHJlbG9hZGVyLWxlZnQtcm90YXRlIHtcbiAgICAwJSwgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTMwZGVnKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7XG4gICAgfVxufVxuQGtleWZyYW1lcyBwcmVsb2FkZXItbGVmdC1yb3RhdGUge1xuICAgIDAlLCAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTMwZGVnKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpO1xuICAgIH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBwcmVsb2FkZXItcmlnaHQtcm90YXRlIHtcbiAgICAwJSwgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEzMGRlZyk7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7XG4gICAgfVxufVxuQGtleWZyYW1lcyBwcmVsb2FkZXItcmlnaHQtcm90YXRlIHtcbiAgICAwJSwgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzBkZWcpO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTtcbiAgICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBwcmVsb2FkZXItaW5uZXItcm90YXRlIHtcbiAgICAxMi41JSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcbiAgICB9XG4gICAgMjUlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xuICAgIH1cbiAgICAzNy41JSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDA1ZGVnKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg1NDBkZWcpO1xuICAgIH1cbiAgICA2Mi41JSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNjc1ZGVnKTtcbiAgICB9XG4gICAgNzUlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg4MTBkZWcpO1xuICAgIH1cbiAgICA4Ny41JSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTQ1ZGVnKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTA4MGRlZyk7XG4gICAgfVxufVxuQGtleWZyYW1lcyBwcmVsb2FkZXItaW5uZXItcm90YXRlIHtcbiAgICAxMi41JSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gICAgfVxuICAgIDI1JSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG4gICAgfVxuICAgIDM3LjUlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDA1ZGVnKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNTQwZGVnKTtcbiAgICB9XG4gICAgNjIuNSUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg2NzVkZWcpO1xuICAgIH1cbiAgICA3NSUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg4MTBkZWcpO1xuICAgIH1cbiAgICA4Ny41JSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDk0NWRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMDgwZGVnKTtcbiAgICB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcHJlbG9hZGVyLWxlZnQtcm90YXRlLW11bHRpY29sb3Ige1xuICAgIDAlLFxuICAgIDEwMCUge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogIzQyODVGNDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMzBkZWcpO1xuICAgIH1cbiAgICA3NSUge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogIzFCOUE1OTtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzFCOUE1OTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNGN0MyMjM7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICNGN0MyMjM7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpO1xuICAgIH1cbiAgICAyNSUge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogI0RFM0UzNTtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI0RFM0UzNTtcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIHByZWxvYWRlci1sZWZ0LXJvdGF0ZS1tdWx0aWNvbG9yIHtcbiAgICAwJSxcbiAgICAxMDAlIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICM0Mjg1RjQ7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzMGRlZyk7XG4gICAgfVxuICAgIDc1JSB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjMUI5QTU5O1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjMUI5QTU5O1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogI0Y3QzIyMztcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI0Y3QzIyMztcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpO1xuICAgIH1cbiAgICAyNSUge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogI0RFM0UzNTtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI0RFM0UzNTtcbiAgICB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcHJlbG9hZGVyLXJpZ2h0LXJvdGF0ZS1tdWx0aWNvbG9yIHtcbiAgICAwJSxcbiAgICAxMDAlIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjNDI4NUY0O1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMzBkZWcpO1xuICAgIH1cbiAgICA3NSUge1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICMxQjlBNTk7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICMxQjlBNTk7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogI0Y3QzIyMztcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI0Y3QzIyMztcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTtcbiAgICB9XG4gICAgMjUlIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI0RFM0UzNTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjREUzRTM1O1xuICAgIH1cbn1cbkBrZXlmcmFtZXMgcHJlbG9hZGVyLXJpZ2h0LXJvdGF0ZS1tdWx0aWNvbG9yIHtcbiAgICAwJSxcbiAgICAxMDAlIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjNDI4NUY0O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTMwZGVnKTtcbiAgICB9XG4gICAgNzUlIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjMUI5QTU5O1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjMUI5QTU5O1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICNGN0MyMjM7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICNGN0MyMjM7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDVkZWcpO1xuICAgIH1cbiAgICAyNSUge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjREUzRTM1O1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICNERTNFMzU7XG4gICAgfVxufSIsIi8qID09PSBQcm9ncmVzcyBCYXIgPT09ICovXG4ucHJvZ3Jlc3NiYXIsIC5wcm9ncmVzc2Jhci1pbmZpbml0ZSB7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLnRyYW5zZm9ybS1vcmlnaW4oY2VudGVyIGJvdHRvbSk7XG4gICAgYmFja2dyb3VuZDogcmdiYShyZWQoQHRoZW1lQ29sb3IpLCBncmVlbihAdGhlbWVDb2xvciksIGJsdWUoQHRoZW1lQ29sb3IpLCAwLjUpO1xufVxuLy8gRGV0ZXJtaW5lZFxuLnByb2dyZXNzYmFyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAgIHNwYW4ge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IEB0aGVtZUNvbG9yO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICAudHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgICAgICAudHJhbnNpdGlvbigxNTBtcyk7XG4gICAgfVxufVxuLy8gSW5maW5pdGVcbi5wcm9ncmVzc2Jhci1pbmZpbml0ZSB7XG4gICAgei1pbmRleDogMTUwMDA7XG4gICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IEB0aGVtZUNvbG9yO1xuICAgICAgICAudHJhbnNmb3JtLW9yaWdpbihsZWZ0IGNlbnRlcik7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgLmFuaW1hdGlvbihwcm9ncmVzc2Jhci1pbmZpbml0ZS0xIDJzIGxpbmVhciBpbmZpbml0ZSk7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgICAuYW5pbWF0aW9uKHByb2dyZXNzYmFyLWluZmluaXRlLTIgMnMgbGluZWFyIGluZmluaXRlKTtcbiAgICB9XG4gICAgaHRtbC53aXRoLXN0YXR1c2Jhci1vdmVybGF5IGJvZHkgPiAmLCBodG1sLndpdGgtc3RhdHVzYmFyLW92ZXJsYXkgLmZyYW1ld29yazctcm9vdCA+ICYge1xuICAgICAgICB0b3A6IDIwcHg7XG4gICAgfVxufVxuXG5cbi8vIE11bHRpY29sb3Jcbi5wcm9ncmVzc2Jhci1pbmZpbml0ZS5jb2xvci1tdWx0aSB7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAuYW5pbWF0aW9uKHByb2dyZXNzYmFyLWluZmluaXRlLW11bHRpY29sb3ItYmcgM3Mgc3RlcC1lbmQgaW5maW5pdGUpO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgLmFuaW1hdGlvbihwcm9ncmVzc2Jhci1pbmZpbml0ZS1tdWx0aWNvbG9yLWZpbGwgM3MgbGluZWFyIGluZmluaXRlKTtcbiAgICAgICAgLnRyYW5zZm9ybS1vcmlnaW4oY2VudGVyIGNlbnRlcik7XG4gICAgfVxufVxuXG5ib2R5LCAudmlldywgLnZpZXdzLCAucGFnZSwgLnBhbmVsLCAucG9wdXAsIC5mcmFtZXdvcms3LXJvb3Qge1xuICAgID4gLnByb2dyZXNzYmFyLCA+IC5wcm9ncmVzc2Jhci1pbmZpbml0ZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiAxNTAwMDtcbiAgICAgICAgLnRyYW5zZm9ybS1vcmlnaW4oY2VudGVyIHRvcCk7XG4gICAgfVxufVxuLy8gQW5pbWF0aW9uc1xuLnByb2dyZXNzYmFyLWluIHtcbiAgICAuYW5pbWF0aW9uKHByb2dyZXNzYmFyLWluIDMwMG1zIGZvcndhcmRzKTtcbn1cbi5wcm9ncmVzc2Jhci1vdXQge1xuICAgIC5hbmltYXRpb24ocHJvZ3Jlc3NiYXItb3V0IDMwMG1zIGZvcndhcmRzKTtcbn1cblxuaHRtbC53aXRoLXN0YXR1c2Jhci1vdmVybGF5IGJvZHkgPiAucHJvZ3Jlc3NiYXIsIGh0bWwud2l0aC1zdGF0dXNiYXItb3ZlcmxheSAuZnJhbWV3b3JrNy1yb290ID4gLnByb2dyZXNzYmFyIHtcbiAgICB0b3A6IDIwcHg7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcHJvZ3Jlc3NiYXItaW4ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDApO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMSk7XG4gICAgfVxufVxuQGtleWZyYW1lcyBwcm9ncmVzc2Jhci1pbiB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKDApO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICAgIH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBwcm9ncmVzc2Jhci1vdXQge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMCk7XG4gICAgfVxufVxuQGtleWZyYW1lcyBwcm9ncmVzc2Jhci1vdXQge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgxKTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgwKTtcbiAgICB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcHJvZ3Jlc3NiYXItaW5maW5pdGUtMSB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAlKSBzY2FsZVgoMC4xKTtcbiAgICB9XG4gICAgMjUlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzAlKSBzY2FsZVgoMC42KTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2NhbGVYKDEpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2NhbGVYKDEpO1xuICAgIH1cbn1cbkBrZXlmcmFtZXMgcHJvZ3Jlc3NiYXItaW5maW5pdGUtMSB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwJSkgc2NhbGVYKDAuMSk7XG4gICAgfVxuICAgIDI1JSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzMCUpIHNjYWxlWCgwLjYpO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2NhbGVYKDEpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNjYWxlWCgxKTtcbiAgICB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcHJvZ3Jlc3NiYXItaW5maW5pdGUtMiB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgc2NhbGVYKDEpO1xuICAgIH1cbiAgICA0MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgc2NhbGVYKDEpO1xuICAgIH1cbiAgICA3NSUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg2MCUpIHNjYWxlWCgwLjM1KTtcbiAgICB9XG4gICAgOTAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2NhbGVYKDAuMSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBzY2FsZVgoMC4xKTtcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIHByb2dyZXNzYmFyLWluZmluaXRlLTIge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSBzY2FsZVgoMSk7XG4gICAgfVxuICAgIDQwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgc2NhbGVYKDEpO1xuICAgIH1cbiAgICA3NSUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNjAlKSBzY2FsZVgoMC4zNSk7XG4gICAgfVxuICAgIDkwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBzY2FsZVgoMC4xKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBzY2FsZVgoMC4xKTtcbiAgICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBwcm9ncmVzc2Jhci1pbmZpbml0ZS1tdWx0aWNvbG9yLWJnIHtcbiAgICAwJSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBncmVlbjtcbiAgICB9XG4gICAgMjUlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHJlZDtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJsdWU7XG4gICAgfVxuICAgIDc1JSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEB5ZWxsb3c7XG4gICAgfVxufVxuQGtleWZyYW1lcyBwcm9ncmVzc2Jhci1pbmZpbml0ZS1tdWx0aWNvbG9yLWJnIHtcbiAgICAwJSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBncmVlbjtcbiAgICB9XG4gICAgMjUlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHJlZDtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJsdWU7XG4gICAgfVxuICAgIDc1JSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEB5ZWxsb3c7XG4gICAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIHByb2dyZXNzYmFyLWluZmluaXRlLW11bHRpY29sb3ItZmlsbCB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDApO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcmVkO1xuICAgIH1cbiAgICAyNC45JSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEByZWQ7XG4gICAgfVxuICAgIDI1JSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBibHVlO1xuICAgIH1cbiAgICA0OS45JSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBibHVlO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDApO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAeWVsbG93O1xuICAgIH1cbiAgICA3NC45JSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEB5ZWxsb3c7XG4gICAgfVxuICAgIDc1JSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBncmVlbjtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBncmVlbjtcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIHByb2dyZXNzYmFyLWluZmluaXRlLW11bHRpY29sb3ItZmlsbCB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHJlZDtcbiAgICB9XG4gICAgMjQuOSUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHJlZDtcbiAgICB9XG4gICAgMjUlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBibHVlO1xuICAgIH1cbiAgICA0OS45JSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmx1ZTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEB5ZWxsb3c7XG4gICAgfVxuICAgIDc0LjklIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEB5ZWxsb3c7XG4gICAgfVxuICAgIDc1JSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZ3JlZW47XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGdyZWVuO1xuICAgIH1cbn0iLCIvKiA9PT0gQ29sdW1ucyBQaWNrZXIgPT09ICovXG4ucGlja2VyLWNvbHVtbnMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMjYwcHg7XG4gICAgei1pbmRleDogMTE1MDA7XG4gICAgJi5waWNrZXItbW9kYWwtaW5saW5lIHtcbiAgICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICB9XG4gICAgQG1lZGlhIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSBhbmQgKG1heC1oZWlnaHQ6IDQxNXB4KSB7XG4gICAgICAgICY6bm90KC5waWNrZXItbW9kYWwtaW5saW5lKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuLnBvcG92ZXIucG9wb3Zlci1waWNrZXItY29sdW1ucyB7XG4gICAgd2lkdGg6IDI4MHB4O1xuICAgIC50b29sYmFyIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4IDJweCAwIDA7XG4gICAgfVxufVxuLnBpY2tlci1pdGVtcyB7XG4gICAgLmZsZXhib3goKTtcbiAgICAuanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgcGFkZGluZzogMDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgLXdlYmtpdC1tYXNrLWJveC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tLCB0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQgNSUsIHdoaXRlIDIwJSwgd2hpdGUgODAlLCB0cmFuc3BhcmVudCA5NSUsIHRyYW5zcGFyZW50KTtcbiAgICAtd2Via2l0LW1hc2stYm94LWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCB0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQgNSUsIHdoaXRlIDIwJSwgd2hpdGUgODAlLCB0cmFuc3BhcmVudCA5NSUsIHRyYW5zcGFyZW50KTtcbn1cbi5waWNrZXItaXRlbXMtY29sIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuXG4gICAgJi5waWNrZXItaXRlbXMtY29sLWxlZnQge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgICAmLnBpY2tlci1pdGVtcy1jb2wtY2VudGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAmLnBpY2tlci1pdGVtcy1jb2wtcmlnaHQge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gICAgJi5waWNrZXItaXRlbXMtY29sLWRpdmlkZXIge1xuICAgICAgICBjb2xvcjogcmdiYSgwLDAsMCwwLjg3KTtcbiAgICAgICAgLmZsZXhib3goKTtcbiAgICAgICAgLmFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgfVxufVxuLnBpY2tlci1pdGVtcy1jb2wtd3JhcHBlciB7XG4gICAgLnRyYW5zaXRpb24oMzAwbXMpO1xuICAgIFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbn1cbi5waWNrZXItaXRlbSB7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIGNvbG9yOiByZ2JhKDAsMCwwLDAuNTQpO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLnRyYW5zaXRpb24oMzAwbXMpO1xuICAgIC5waWNrZXItaXRlbXMtY29sLWFic29sdXRlICZ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gICAgJi5waWNrZXItaXRlbS1mYXIge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gICAgJi5waWNrZXItc2VsZWN0ZWQge1xuICAgICAgICBjb2xvcjogcmdiYSgwLDAsMCwwLjg3KTtcbiAgICAgICAgLnRyYW5zZm9ybSh0cmFuc2xhdGUzZCgwLDAsMCkgcm90YXRlWCgwZGVnKSk7XG4gICAgfVxufVxuLnBpY2tlci1jZW50ZXItaGlnaGxpZ2h0IHtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMThweDtcbiAgICAuaGFpcmxpbmUodG9wLCByZ2JhKDAsMCwwLDAuMTUpKTtcbiAgICAuaGFpcmxpbmUoYm90dG9tLCByZ2JhKDAsMCwwLDAuMTUpKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi8vIDNEIFBpY2tlclxuLnBpY2tlci0zZCB7XG4gICAgLnBpY2tlci1pdGVtcyB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIC13ZWJraXQtcGVyc3BlY3RpdmU6IDEyMDBweDtcbiAgICAgICAgcGVyc3BlY3RpdmU6IDEyMDBweDtcbiAgICB9XG4gICAgLnBpY2tlci1pdGVtcy1jb2wsIC5waWNrZXItaXRlbXMtY29sLXdyYXBwZXIsIC5waWNrZXItaXRlbSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgICAgICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgICB9XG4gICAgLnBpY2tlci1pdGVtcy1jb2wge1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG4gICAgLnBpY2tlci1pdGVtIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyIC0xMTBweDtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlciAtMTEwcHg7XG4gICAgICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgfVxufSIsIi8qID09PSBOb3RpZmljYXRpb25zID09PSAqL1xuQG5vdGlmaWNhdGlvbnNEdXJhdGlvbjogNDUwbXM7XG4ubm90aWZpY2F0aW9ucyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDEwOTAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC50cmFuc2l0aW9uKEBub3RpZmljYXRpb25zRHVyYXRpb24pO1xuICAgIC13ZWJraXQtcGVyc3BlY3RpdmU6MTIwMHB4O1xuICAgIHBlcnNwZWN0aXZlOjEyMDBweDtcblxuICAgICYubGlzdC1ibG9jayA+IHVsIHtcbiAgICAgICAgLmhhaXJsaW5lLXJlbW92ZSh0b3ApO1xuICAgICAgICAuaGFpcmxpbmUtcmVtb3ZlKGJvdHRvbSk7XG4gICAgICAgIG1heC13aWR0aDogNTY4cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICMzMjMyMzI7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgICAuaXRlbS1jb250ZW50IHtcbiAgICAgICAgLmFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgfVxuICAgIC5pdGVtLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICBwYWRkaW5nLXRvcDogMTRweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE0cHg7XG4gICAgfVxuICAgIC5pdGVtLWlubmVyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjRweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAuaGFpcmxpbmUtcmVtb3ZlKGJvdHRvbSk7XG4gICAgfVxuICAgIC5pdGVtLWFmdGVyIHtcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgfVxuICAgIC5idXR0b24uY2xvc2Utbm90aWZpY2F0aW9uIHtcbiAgICAgICAgY29sb3I6IGxpZ2h0ZW4oc2F0dXJhdGUoQHRoZW1lQ29sb3IsIDEwJSksIDEwJSk7XG4gICAgfVxuICAgIC5ub3RpZmljYXRpb24taXRlbSB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAudHJhbnNpdGlvbihAbm90aWZpY2F0aW9uc0R1cmF0aW9uKTtcbiAgICAgICAgLmRlbGF5KDEwMG1zKTtcbiAgICAgICAgLnRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgLm5vdGlmaWNhdGlvbi1oaWRkZW4ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAuZGVsYXkoMG1zKTtcbiAgICAgICAgLnRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICB9XG4gICAgLm5vdGlmaWNhdGlvbi1pdGVtLXJlbW92aW5nIHtcbiAgICAgICAgLmRlbGF5KDBtcyk7XG4gICAgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA1NjlweCkge1xuICAgICAgICAmLmxpc3QtYmxvY2sgPiB1bCB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIG1pbi13aWR0aDogMjg4cHg7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLyogPT09IERpc2FibGVkIGVsZW1lbnRzID09PSAqL1xuLmRpc2FibGVkLCBbZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjU1O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIC5kaXNhYmxlZCAmLCBbZGlzYWJsZWRdICYge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn0iLCJAaW1wb3J0IHVybCgnLi4vLi4vLi4vLi4vLi4vdmVuZG9yL2ZyYW1ld29yazcvc3JjL2xlc3MvbWF0ZXJpYWwvX21peGlucy5sZXNzJyk7XG5AaW1wb3J0IHVybCgnLi4vLi4vLi4vLi4vLi4vdmVuZG9yL2ZyYW1ld29yazcvc3JjL2xlc3MvbWF0ZXJpYWwvX2NvbG9ycy12YXJzLmxlc3MnKTtcblxuLy8gQ29sb3JzXG5AdGhlbWVDb2xvcjogIzQwODY1YzsgLy8gKDc5LDE1OCw3OSlcbkB0aGVtZUNvbG9yTGlnaHQ6ICNjN2U4ZDE7XG5AbmF2QmFySWNvbkNvbG9yOiAjZmZmO1xuXG5AYXBwVG9vbGJhckhlaWdodDogQG5hdmJhclNpemU7XG5cbkBpbXBvcnQgdXJsKCcuLi8uLi8uLi8uLi8uLi92ZW5kb3IvZnJhbWV3b3JrNy9zcmMvbGVzcy9tYXRlcmlhbC9pbnRyby5sZXNzJyk7XG5AaW1wb3J0IHVybCgnLi4vLi4vLi4vLi4vLi4vdmVuZG9yL2ZyYW1ld29yazcvc3JjL2xlc3MvbWF0ZXJpYWwvZ3JpZC5sZXNzJyk7XG5AaW1wb3J0IHVybCgnLi4vLi4vLi4vLi4vLi4vdmVuZG9yL2ZyYW1ld29yazcvc3JjL2xlc3MvbWF0ZXJpYWwvdmlld3MubGVzcycpO1xuQGltcG9ydCB1cmwoJy4uLy4uLy4uLy4uLy4uL3ZlbmRvci9mcmFtZXdvcms3L3NyYy9sZXNzL21hdGVyaWFsL3BhZ2VzLmxlc3MnKTtcbkBpbXBvcnQgdXJsKCcuLi8uLi8uLi8uLi8uLi92ZW5kb3IvZnJhbWV3b3JrNy9zcmMvbGVzcy9tYXRlcmlhbC90b29sYmFycy5sZXNzJyk7XG5AaW1wb3J0IHVybCgnLi4vLi4vLi4vLi4vLi4vdmVuZG9yL2ZyYW1ld29yazcvc3JjL2xlc3MvbWF0ZXJpYWwvdG9vbGJhcnMtcGFnZXMubGVzcycpO1xuQGltcG9ydCB1cmwoJy4uLy4uLy4uLy4uLy4uL3ZlbmRvci9mcmFtZXdvcms3L3NyYy9sZXNzL21hdGVyaWFsL3NlYXJjaGJhci5sZXNzJyk7XG5AaW1wb3J0IHVybCgnLi4vLi4vLi4vLi4vLi4vdmVuZG9yL2ZyYW1ld29yazcvc3JjL2xlc3MvbWF0ZXJpYWwvbWVzc2FnZWJhci5sZXNzJyk7XG5AaW1wb3J0IHVybCgnLi4vLi4vLi4vLi4vLi4vdmVuZG9yL2ZyYW1ld29yazcvc3JjL2xlc3MvbWF0ZXJpYWwvaWNvbnMubGVzcycpO1xuQGltcG9ydCB1cmwoJy4uLy4uLy4uLy4uLy4uL3ZlbmRvci9mcmFtZXdvcms3L3NyYy9sZXNzL21hdGVyaWFsL2JhZGdlcy5sZXNzJyk7XG4vL0BpbXBvcnQgdXJsKCcuLi8uLi8uLi8uLi8uLi92ZW5kb3IvZnJhbWV3b3JrNy9zcmMvbGVzcy9tYXRlcmlhbC9jaGlwcy5sZXNzJyk7XG5AaW1wb3J0IHVybCgnLi4vLi4vLi4vLi4vLi4vdmVuZG9yL2ZyYW1ld29yazcvc3JjL2xlc3MvbWF0ZXJpYWwvY29udGVudC1ibG9jay5sZXNzJyk7XG5AaW1wb3J0IHVybCgnLi4vLi4vLi4vLi4vLi4vdmVuZG9yL2ZyYW1ld29yazcvc3JjL2xlc3MvbWF0ZXJpYWwvbGlzdHMubGVzcycpO1xuLy9AaW1wb3J0IHVybCgnLi4vLi4vLi4vLi4vLi4vdmVuZG9yL2ZyYW1ld29yazcvc3JjL2xlc3MvbWF0ZXJpYWwvY29udGFjdHMubGVzcycpO1xuQGltcG9ydCB1cmwoJy4uLy4uLy4uLy4uLy4uL3ZlbmRvci9mcmFtZXdvcms3L3NyYy9sZXNzL21hdGVyaWFsL2Zvcm1zLmxlc3MnKTtcbkBpbXBvcnQgdXJsKCcuLi8uLi8uLi8uLi8uLi92ZW5kb3IvZnJhbWV3b3JrNy9zcmMvbGVzcy9tYXRlcmlhbC9mbG9hdGluZy1idXR0b24ubGVzcycpO1xuLy9AaW1wb3J0IHVybCgnLi4vLi4vLi4vLi4vLi4vdmVuZG9yL2ZyYW1ld29yazcvc3JjL2xlc3MvbWF0ZXJpYWwvYWNjb3JkaW9uLmxlc3MnKTtcbi8vQGltcG9ydCB1cmwoJy4uLy4uLy4uLy4uLy4uL3ZlbmRvci9mcmFtZXdvcms3L3NyYy9sZXNzL21hdGVyaWFsL2NhcmRzLmxlc3MnKTtcbkBpbXBvcnQgdXJsKCcuLi8uLi8uLi8uLi8uLi92ZW5kb3IvZnJhbWV3b3JrNy9zcmMvbGVzcy9tYXRlcmlhbC9tb2RhbHMubGVzcycpO1xuQGltcG9ydCB1cmwoJy4uLy4uLy4uLy4uLy4uL3ZlbmRvci9mcmFtZXdvcms3L3NyYy9sZXNzL21hdGVyaWFsL3BhbmVscy5sZXNzJyk7XG4vL0BpbXBvcnQgdXJsKCcuLi8uLi8uLi8uLi8uLi92ZW5kb3IvZnJhbWV3b3JrNy9zcmMvbGVzcy9tYXRlcmlhbC9sYXp5LWxvYWQubGVzcycpO1xuQGltcG9ydCB1cmwoJy4uLy4uLy4uLy4uLy4uL3ZlbmRvci9mcmFtZXdvcms3L3NyYy9sZXNzL21hdGVyaWFsL3RhYnMubGVzcycpO1xuQGltcG9ydCB1cmwoJy4uLy4uLy4uLy4uLy4uL3ZlbmRvci9mcmFtZXdvcms3L3NyYy9sZXNzL21hdGVyaWFsL21lc3NhZ2VzLmxlc3MnKTtcbkBpbXBvcnQgdXJsKCcuLi8uLi8uLi8uLi8uLi92ZW5kb3IvZnJhbWV3b3JrNy9zcmMvbGVzcy9tYXRlcmlhbC9zdGF0dXNiYXIubGVzcycpO1xuQGltcG9ydCB1cmwoJy4uLy4uLy4uLy4uLy4uL3ZlbmRvci9mcmFtZXdvcms3L3NyYy9sZXNzL21hdGVyaWFsL3ByZWxvYWRlci5sZXNzJyk7XG5AaW1wb3J0IHVybCgnLi4vLi4vLi4vLi4vLi4vdmVuZG9yL2ZyYW1ld29yazcvc3JjL2xlc3MvbWF0ZXJpYWwvcHJvZ3Jlc3NiYXIubGVzcycpO1xuLy9AaW1wb3J0IHVybCgnLi4vLi4vLi4vLi4vLi4vdmVuZG9yL2ZyYW1ld29yazcvc3JjL2xlc3MvbWF0ZXJpYWwvcHVsbC10by1yZWZyZXNoLmxlc3MnKTtcbi8vQGltcG9ydCB1cmwoJy4uLy4uLy4uLy4uLy4uL3ZlbmRvci9mcmFtZXdvcms3L3NyYy9sZXNzL21hdGVyaWFsL2luZmluaXRlLXNjcm9sbC5sZXNzJyk7XG4vL0BpbXBvcnQgdXJsKCcuLi8uLi8uLi8uLi8uLi92ZW5kb3IvZnJhbWV3b3JrNy9zcmMvbGVzcy9tYXRlcmlhbC9hdXRvY29tcGxldGUubGVzcycpO1xuLy9AaW1wb3J0IHVybCgnLi4vLi4vLi4vLi4vLi4vdmVuZG9yL2ZyYW1ld29yazcvc3JjL2xlc3MvbWF0ZXJpYWwvc3dpcGVyLmxlc3MnKTtcbi8vQGltcG9ydCB1cmwoJy4uLy4uLy4uLy4uLy4uL3ZlbmRvci9mcmFtZXdvcms3L3NyYy9sZXNzL21hdGVyaWFsL3Bob3RvLWJyb3dzZXIubGVzcycpO1xuQGltcG9ydCB1cmwoJy4uLy4uLy4uLy4uLy4uL3ZlbmRvci9mcmFtZXdvcms3L3NyYy9sZXNzL21hdGVyaWFsL3BpY2tlci5sZXNzJyk7XG4vL0BpbXBvcnQgdXJsKCcuLi8uLi8uLi8uLi8uLi92ZW5kb3IvZnJhbWV3b3JrNy9zcmMvbGVzcy9tYXRlcmlhbC9jYWxlbmRhci5sZXNzJyk7XG5AaW1wb3J0IHVybCgnLi4vLi4vLi4vLi4vLi4vdmVuZG9yL2ZyYW1ld29yazcvc3JjL2xlc3MvbWF0ZXJpYWwvbm90aWZpY2F0aW9ucy5sZXNzJyk7XG4vL0BpbXBvcnQgdXJsKCcuLi8uLi8uLi8uLi8uLi92ZW5kb3IvZnJhbWV3b3JrNy9zcmMvbGVzcy9tYXRlcmlhbC9sb2dpbi1zY3JlZW4ubGVzcycpO1xuQGltcG9ydCB1cmwoJy4uLy4uLy4uLy4uLy4uL3ZlbmRvci9mcmFtZXdvcms3L3NyYy9sZXNzL21hdGVyaWFsL3JpcHBsZS5sZXNzJyk7XG5AaW1wb3J0IHVybCgnLi4vLi4vLi4vLi4vLi4vdmVuZG9yL2ZyYW1ld29yazcvc3JjL2xlc3MvbWF0ZXJpYWwvZGlzYWJsZWQubGVzcycpO1xuXG4vLyBEaXNhYmxlIHRleHQgc2VsZWN0XG4qIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbmlucHV0LCB0ZXh0YXJlYSB7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDpkZWZhdWx0O1xuICAtd2Via2l0LXVzZXItc2VsZWN0OnRleHQ7XG4gIHVzZXItc2VsZWN0OnRleHQ7XG59XG5cbkBpbXBvcnQgdXJsKCcuLi8uLi8uLi8uLi9jb21tb24vbW9iaWxlL3Jlc291cmNlcy9sZXNzL19taXhpbnMubGVzcycpO1xuQGltcG9ydCB1cmwoJy4uLy4uLy4uLy4uL2NvbW1vbi9tb2JpbGUvcmVzb3VyY2VzL2xlc3MvbWF0ZXJpYWwvX2NvbnRhaW5lci5sZXNzJyk7XG5AaW1wb3J0IHVybCgnLi4vLi4vLi4vLi4vY29tbW9uL21vYmlsZS9yZXNvdXJjZXMvbGVzcy9tYXRlcmlhbC9fZGF0YXZpZXcubGVzcycpO1xuQGltcG9ydCB1cmwoJy4uLy4uLy4uLy4uL2NvbW1vbi9tb2JpbGUvcmVzb3VyY2VzL2xlc3MvbWF0ZXJpYWwvX2xpc3R2aWV3Lmxlc3MnKTtcbkBpbXBvcnQgdXJsKCcuLi8uLi8uLi8uLi9jb21tb24vbW9iaWxlL3Jlc291cmNlcy9sZXNzL21hdGVyaWFsL19idXR0b24ubGVzcycpO1xuQGltcG9ydCB1cmwoJy4uLy4uLy4uLy4uL2NvbW1vbi9tb2JpbGUvcmVzb3VyY2VzL2xlc3MvbWF0ZXJpYWwvX2NvbnRleHRtZW51Lmxlc3MnKTtcbkBpbXBvcnQgdXJsKCcuLi8uLi8uLi8uLi9jb21tb24vbW9iaWxlL3Jlc291cmNlcy9sZXNzL21hdGVyaWFsL19jb2xvci1wYWxldHRlLmxlc3MnKTtcbkBpbXBvcnQgdXJsKCcuLi8uLi8uLi8uLi9jb21tb24vbW9iaWxlL3Jlc291cmNlcy9sZXNzL21hdGVyaWFsL19hYm91dC5sZXNzJyk7XG5cbkBpbXBvcnQgdXJsKCdtYXRlcmlhbC9fc2VhcmNoLmxlc3MnKTtcbkBpbXBvcnQgdXJsKCdtYXRlcmlhbC9faWNvbnMubGVzcycpO1xuQGltcG9ydCB1cmwoJy4uLy4uLy4uLy4uL2NvbW1vbi9tb2JpbGUvcmVzb3VyY2VzL2xlc3MvbWF0ZXJpYWwvX3NhaWxmaXNoX2ZpeC5sZXNzJyk7XG5AaW1wb3J0IHVybCgnYXBwLWNvbW1vbicpO1xuQGltcG9ydCB1cmwoJ2NlbGxlZGl0b3InKTtcbkBpbXBvcnQgdXJsKCdzdGF0dXNiYXInKTtcbkBpbXBvcnQgdXJsKCdzYWlsZmlzaC1maXgnKTtcblxuLy8gTWFpbiBUb29sYmFyXG4jZWRpdG9yLW5hdmJhci5uYXZiYXIgLnJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogNHB4O1xufVxuI2VkaXRvci1uYXZiYXIubmF2YmFyIC5yaWdodCBhLmxpbmssXG4jZWRpdG9yLW5hdmJhci5uYXZiYXIgLmxlZnQgYS5saW5rIHtcbiAgcGFkZGluZzogMCAxM3B4O1xufVxuXG4vLyBBZGQgQ29udGFpbmVyXG5cbiNhZGQtdGFibGUsXG4jYWRkLXNoYXBlIHtcbiAgLnBhZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIH1cbn1cblxuLy8gVGFibGUgc3R5bGVzXG5cbi50YWJsZS1zdHlsZXMge1xuICAucm93IHtcbiAgICAmLCBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIH1cbiAgfVxuXG4gIGxpIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMXB4O1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgIH1cbiAgfVxufVxuXG4vLyBTaGFwZXNcblxuLnNoYXBlcyB7XG4gIGxpIHtcbiAgICB3aWR0aDogNzBweDtcbiAgICBoZWlnaHQ6IDcwcHg7XG4gICAgbWFyZ2luOiAwIDFweDtcblxuICAgIC50aHVtYiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEB0aGVtZUNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDaGFydHNcblxuLmNoYXJ0LXR5cGVzIHtcbiAgbGkge1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIGhlaWdodDogNjBweDtcbiAgICBtYXJnaW46IDZweDtcblxuICAgIC50aHVtYiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICB9XG4gIH1cbn1cblxuLy8gQ2VsbCBzdHlsZVxuLmNlbGwtc3R5bGVzLmRhdGF2aWV3IHtcbiAgLmFjdGl2ZTphZnRlciB7XG4gICAgcmlnaHQ6IDJweDtcbiAgICBib3R0b206IDJweDtcbiAgfVxuXG4gIC5yb3cge1xuICAgIHBhZGRpbmc6IDVweCAwO1xuXG4gICAgbGkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgQGxpc3RCbG9ja0JvcmRlckNvbG9yO1xuICAgICAgaHRtbC5waXhlbC1yYXRpby0yICYge1xuICAgICAgICBib3JkZXI6IDAuNXB4IHNvbGlkIEBsaXN0QmxvY2tCb3JkZXJDb2xvcjtcbiAgICAgIH1cbiAgICAgIGh0bWwucGl4ZWwtcmF0aW8tMyAmIHtcbiAgICAgICAgYm9yZGVyOiAwLjMzcHggc29saWQgQGxpc3RCbG9ja0JvcmRlckNvbG9yO1xuICAgICAgfVxuICAgICAgcGFkZGluZzogMnB4O1xuXG4gICAgICAudGh1bWIge1xuICAgICAgICB3aWR0aDogMTEycHg7XG4gICAgICAgIGhlaWdodDogMzhweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubW9kYWwubW9kYWwtaW4ge1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogYXV0bztcbn0iLCIvLyBDb250YWluZXJcblxuLnBob25lLmFuZHJvaWQge1xuICAuY29udGFpbmVyLWVkaXQge1xuXG4gICAgLnBhZ2UtY29udGVudCB7XG4gICAgICAubGlzdC1ibG9jazpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5jb250YWluZXItZWRpdCxcbi5jb250YWluZXItYWRkLFxuLmNvbnRhaW5lci1zZXR0aW5ncyB7XG4gICYucG9wb3ZlciB7XG4gICAgd2lkdGg6IDM2MHB4O1xuICB9XG59XG5cbi5zZXR0aW5ncyB7XG4gICYucG9wdXAsXG4gICYucG9wb3ZlciB7XG4gICAgLmxpc3QtYmxvY2sge1xuICAgICAgbWFyZ2luOiAzMnB4IDA7XG5cbiAgICAgIHVsIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIH1cblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgbGk6Zmlyc3QtY2hpbGQgYSB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYsXG4gICAgLnBvcG92ZXItaW5uZXIge1xuICAgICAgPiAuY29udGVudC1ibG9jayB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucG9wb3Zlci12aWV3IHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcblxuICAgICAgPiAucGFnZXMge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNhdGVnb3JpZXMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgID4gLnRvb2xiYXIge1xuICAgICAgdG9wOiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxuICAucG9wb3Zlci1pbm5lciB7XG4gICAgaGVpZ2h0OiA0MDBweDtcbiAgfVxufSIsIi8vIERhdGEgdmlld1xuXG4uZGF0YXZpZXcge1xuICAucm93IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgfVxuXG4gIHVsIHtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cblxuICAuYWN0aXZlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDIycHg7XG4gICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICByaWdodDogLTVweDtcbiAgICAgIGJvdHRvbTogLTVweDtcbiAgICAgIC5lbmNvZGVkLXN2Zy1iYWNrZ3JvdW5kKCc8c3ZnIHZlcnNpb249XCIxLjFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgdmlld0JveD1cIjAgMCAyMiAyMlwiIGZpbGw9XCJAe3RoZW1lQ29sb3J9XCI+PGc+PGNpcmNsZSBmaWxsPVwiI2ZmZlwiIGN4PVwiMTFcIiBjeT1cIjExXCIgcj1cIjExXCIvPjxwYXRoIGQ9XCJNMTEsMjFBMTAsMTAsMCwxLDEsMjEsMTEsMTAsMTAsMCwwLDEsMTEsMjFoMFpNMTcuNCw3LjMyTDE3LjA2LDdhMC40OCwwLjQ4LDAsMCwwLS42NywwbC03LDYuODRMNi45NSwxMS4yNGEwLjUxLDAuNTEsMCwwLDAtLjU5LjA4TDYsMTEuNjZhMC41OCwwLjU4LDAsMCwwLDAsLjY1bDMuMTksMy4zNWEwLjM4LDAuMzgsMCwwLDAsLjM5LDBMMTcuNCw4YTAuNDgsMC40OCwwLDAsMCwwLS42N2gwWlwiLz48L2c+PC9zdmc+Jyk7XG4gICAgfVxuICB9XG59IiwiLy8gTGlzdCBleHRlbmRcblxuLml0ZW0tY29udGVudHtcbiAgLml0ZW0tYWZ0ZXIge1xuICAgICYuc3BsaXR0ZXIge1xuICAgICAgbGFiZWwge1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgbWFyZ2luOjAgNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgICAgIH1cblxuICAgICAgLmJ1dHRvbiB7XG4gICAgICAgIG1pbi13aWR0aDogNDBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi52YWx1ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1pbi13aWR0aDogNTBweDtcbiAgICAgIGNvbG9yOiBAYmxhY2s7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gICYuYnV0dG9ucyB7XG4gICAgLml0ZW0taW5uZXIge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcblxuICAgICAgPiAucm93IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcblxuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdGhlbWVDb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY29sb3ItcHJldmlldyB7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgwLDAsMCwwLjE1KSBpbnNldDtcbiAgfVxufVxuXG4uaXRlbS1saW5rIHtcbiAgJi5uby1pbmRpY2F0b3Ige1xuICAgIC5pdGVtLWlubmVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgIH1cbiAgfVxufVxuXG4ucG9wb3ZlciAubGlzdC1ibG9jazpsYXN0LWNoaWxkIGxpOmxhc3QtY2hpbGQgLmJ1dHRvbnMgYSB7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbn0iLCIvLyBDb250ZXh0IG1lbnVcblxuLmRvY3VtZW50LW1lbnUge1xuICB3aWR0aDogYXV0bztcbiAgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDtcbiAgei1pbmRleDogMTI1MDA7XG5cbiAgLnBvcG92ZXItaW5uZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAubGlzdC1ibG9jayB7XG4gICAgd2hpdGUtc3BhY2U6IHByZTtcblxuICAgIHVsIHtcbiAgICAgIGhlaWdodDogNDhweDtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLml0ZW0tbGluayB7XG4gICAgICBodG1sLnBob25lICYge1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLy8gQ29sb3IgcGFsZXR0ZVxuXG4uY29sb3ItcGFsZXR0ZSB7XG4gIGEge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLXdpZHRoOiAxMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDI2cHg7XG4gICAgbWFyZ2luOiAxcHggMXB4IDAgMDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgwLDAsMCwwLjE1KSBpbnNldDtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OicgJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggd2hpdGUsIDAgMCAwIDRweCBAdGhlbWVDb2xvcjtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYudHJhbnNwYXJlbnQge1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICAgICAgLmVuY29kZWQtc3ZnLWJhY2tncm91bmQoXCI8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeD0nMHB4JyB5PScwcHgnIHZpZXdCb3g9JzAgMCAyMiAyMicgeG1sOnNwYWNlPSdwcmVzZXJ2ZSc+PGxpbmUgc3Ryb2tlPScjZmYwMDAwJyBzdHJva2UtbGluZWNhcD0ndW5kZWZpbmVkJyBzdHJva2UtbGluZWpvaW49J3VuZGVmaW5lZCcgaWQ9J3N2Z18xJyB5Mj0nMCcgeDI9JzIyJyB5MT0nMjInIHgxPScwJyBzdHJva2Utd2lkdGg9JzInIGZpbGw9J25vbmUnLz48L3N2Zz5cIik7XG4gICAgfVxuICB9XG5cbiAgLnRoZW1lLWNvbG9ycyB7XG4gICAgLml0ZW0taW5uZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuICB9XG5cbiAgLnN0YW5kYXJ0LWNvbG9ycyB7XG4gICAgLml0ZW0taW5uZXIge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuICB9XG5cbiAgJi5saXN0LWJsb2NrOmxhc3QtY2hpbGQgbGk6bGFzdC1jaGlsZCBhIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59IiwiLy8gQWJvdXRcblxuLmFib3V0IHtcbiAgLnBhZ2UtY29udGVudCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLmNvbnRlbnQtYmxvY2s6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbjogMTVweCAwO1xuICB9XG5cbiAgLmNvbnRlbnQtYmxvY2sge1xuICAgIG1hcmdpbjogMCBhdXRvIDE1cHg7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgIH1cbiAgfVxuXG4gIGgzIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbjogMDtcblxuICAgICYudmVuZG9yIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIH1cbiAgfVxuXG4gIHAgPiBsYWJlbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIH1cblxuICAubG9nbyB7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi8uLi8uLi9jb21tb24vbW9iaWxlL3Jlc291cmNlcy9pbWcvYWJvdXQvb25seW9mZmljZS5zdmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICB9XG59IiwiLy8gU2VhcmNoXG5cbi50YWJsZXQge1xuICAvLyBSZXBsYWNlIG1vZGVcbiAgLnNlYXJjaGJhci5kb2N1bWVudC5yZXBsYWNlIHtcbiAgICAuY2VudGVyIHtcbiAgICAgID4gLnJlcGxhY2Uge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5yaWdodCB7XG4gICAgICAucmVwbGFjZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmxpbmsucmVwbGFjZSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuICB9XG5cbiAgLy8gU2VhcmNoIG1vZGVcbiAgLnNlYXJjaGJhci5kb2N1bWVudCB7XG4gICAgLmNlbnRlciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgLnNlYXJjaGJhciB7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgICAgICYuc2VhcmNoIHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgID4gLnJlcGxhY2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5yaWdodCB7XG4gICAgICAucmVwbGFjZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBwaG9uZVNlYXJjaEhlaWdodDogNDhweDtcblxuLnBob25lIHtcbiAgLy8gUmVwbGFjZSBtb2RlXG4gIC5zZWFyY2hiYXIuZG9jdW1lbnQucmVwbGFjZSB7XG4gICAgaGVpZ2h0OiBAcGhvbmVTZWFyY2hIZWlnaHQgKiAyO1xuXG4gICAgLmxpbmsucmVwbGFjZSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuXG4gICAgLmxlZnQge1xuICAgICAgbWFyZ2luLXRvcDogLUBwaG9uZVNlYXJjaEhlaWdodDtcbiAgICB9XG5cbiAgICAuY2VudGVyIHtcbiAgICAgIC5yZXBsYWNlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnJpZ2h0IHtcbiAgICAgID4gLnJlcGxhY2Uge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNlYXJjaCBtb2RlXG4gIC5zZWFyY2hiYXIuZG9jdW1lbnQge1xuICAgIC5sZWZ0LFxuICAgIC5jZW50ZXIsXG4gICAgLnJpZ2h0IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLmxlZnQge1xuICAgICAgLy9cbiAgICB9XG5cbiAgICAuY2VudGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAgIC5zZWFyY2hiYXIge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAucmVwbGFjZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnJpZ2h0IHtcbiAgICAgID4gcCB7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBhLmxpbmsge1xuICAgICAgICAgIGhlaWdodDogQHBob25lU2VhcmNoSGVpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgID4gLnJlcGxhY2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi8vIEljb25zXG5pLmljb24ge1xuICAmLmljb24tZXhwYW5kLXVwIHtcbiAgICB3aWR0aDogMTdweDtcbiAgICBoZWlnaHQ6IDE3cHg7XG4gICAgLmVuY29kZWQtc3ZnLWJhY2tncm91bmQoJzxzdmcgdmVyc2lvbj1cIjEuMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB4PVwiMHB4XCIgeT1cIjBweFwiIHZpZXdCb3g9XCIwIDAgMjIgMjJcIiBmaWxsPVwiQHtibGFja31cIj48Zz48cG9seWdvbiBwb2ludHM9XCIxMC45LDUuMSAyLDEzLjkgNC4xLDE2IDExLjEsOS4yIDE3LjksMTYgMjAsMTMuOSAxMS4yLDUuMSAxMS4xLDUgXCIvPjwvZz48L3N2Zz4nKTtcbiAgfVxuICAmLmljb24tZXhwYW5kLWRvd24ge1xuICAgIHdpZHRoOiAxN3B4O1xuICAgIGhlaWdodDogMTdweDtcbiAgICAuZW5jb2RlZC1zdmctYmFja2dyb3VuZCgnPHN2ZyB2ZXJzaW9uPVwiMS4xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHg9XCIwcHhcIiB5PVwiMHB4XCIgdmlld0JveD1cIjAgMCAyMiAyMlwiIGZpbGw9XCJAe2JsYWNrfVwiPjxnPjxwb2x5Z29uIHBvaW50cz1cIjEwLjksMTYuOSAyLDguMSA0LjEsNiAxMS4xLDEyLjggMTcuOSw2IDIwLDguMSAxMS4yLDE2LjkgMTEuMSwxNyBcIi8+PC9nPjwvc3ZnPicpO1xuICB9XG4gICYuaWNvbi1zZWFyY2gge1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIGhlaWdodDogMjJweDtcbiAgICAuZW5jb2RlZC1zdmctYmFja2dyb3VuZCgnPHN2ZyB2ZXJzaW9uPVwiMS4xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHg9XCIwcHhcIiB5PVwiMHB4XCIgdmlld0JveD1cIjAgMCAyMiAyMlwiIGZpbGw9XCJAe3RoZW1lQ29sb3J9XCI+PGc+PHBhdGggZD1cIk0xOS41LDE2LjhMMTYsMTMuM2MwLjctMS4xLDEuMS0yLjQsMS4xLTMuOEMxNyw1LjQsMTMuNiwyLDkuNSwyUzIsNS40LDIsOS41UzUuNCwxNyw5LjUsMTdjMS40LDAsMi43LTAuNCwzLjgtMS4xbDMuNSwzLjVjMC43LDAuNywxLjksMC43LDIuNiwwQzIwLjIsMTguNywyMC4yLDE3LjYsMTkuNSwxNi44eiBNOS41LDE1LjNjLTMuMiwwLTUuOC0yLjYtNS44LTUuOHMyLjYtNS44LDUuOC01LjhzNS44LDIuNiw1LjgsNS44UzEyLjcsMTUuMyw5LjUsMTUuM3pcIi8+PC9nPjwvc3ZnPicpO1xuICB9XG4gICYuaWNvbi1lZGl0IHtcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAgLmVuY29kZWQtc3ZnLWJhY2tncm91bmQoJzxzdmcgdmVyc2lvbj1cIjEuMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB4PVwiMHB4XCIgeT1cIjBweFwiIHZpZXdCb3g9XCIwIDAgMjIgMjJcIiBmaWxsPVwiQHt0aGVtZUNvbG9yfVwiPjxnPjxwYXRoIGQ9XCJNMCwyMGgyMnYxSDBWMjB6XCIvPjxwb2x5Z29uIHBvaW50cz1cIjE3LjEsMy4xIDMuNSwxNi43IDMsMjAgNi4zLDE5LjUgMTkuOSw1LjkgXHRcIi8+PHBhdGggZD1cIk0yMC41LDUuM0wyMiwzLjhjMCwwLTAuMi0xLjItMC45LTEuOUMyMC40LDEuMSwxOS4yLDEsMTkuMiwxbC0xLjUsMS41TDIwLjUsNS4zelwiLz48L2c+PC9zdmc+Jyk7XG4gIH1cbiAgJi5pY29uLWVkaXQtc2V0dGluZ3Mge1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIGhlaWdodDogMjJweDtcbiAgICAuZW5jb2RlZC1zdmctYmFja2dyb3VuZCgnPHN2ZyB2ZXJzaW9uPVwiMS4xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHZpZXdCb3g9XCIwIDAgMjIgMjJcIiBmaWxsPVwiQHt0aGVtZUNvbG9yfVwiPjxnPjxwYXRoIGQ9XCJNMi41IDE1TDggMWgybDQuNDE0NiAxMS4yNTc0LTEuNjAwOSAxLjYwMDhMMTIuMTIwMTIgMTJoLTYuMjVMNC43NSAxNXpNOSAzLjY2OTk4TDYuNjIwMTIgMTBoNC43NTk3NnpcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZmlsbD1cIiNmZmZcIiBmaWxsLXJ1bGU9XCJldmVub2RkXCIvPjxwYXRoIGQ9XCJNMTAgMTkuNTAwMzVWMjJoMi40OTk2NWw3LjM3MjMxLTcuMzcyMzEtMi40OTk2NS0yLjQ5OTY1em0xMS44MDUtNi44MDU3MmMuMjYtLjI1OTk3LjI2LS42Nzk5MSAwLS45Mzk4N2wtMS41NTk4LTEuNTU5Nzg3Yy0uMjU5OTItLjI1OTk2NC0uNjc5ODYtLjI1OTk2NC0uOTM5ODMgMEwxOC4wODU1NCAxMS40MTQ4bDIuNDk5NjYgMi40OTk2NnpcIiBmaWxsPVwiI2ZmZlwiLz48L2c+PC9zdmc+Jyk7XG4gIH1cbiAgJi5pY29uLXJlYWRlciB7XG4gICAgd2lkdGg6IDIycHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIC5lbmNvZGVkLXN2Zy1iYWNrZ3JvdW5kKCc8c3ZnIHZlcnNpb249XCIxLjFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgeD1cIjBweFwiIHk9XCIwcHhcIiB2aWV3Qm94PVwiMCAwIDIyIDIyXCIgZmlsbD1cIkB7dGhlbWVDb2xvcn1cIj48Zz48cGF0aCBkPVwiTTE3LDIxSDFWOWg2VjJsMCwwaDEwdjVoMVYxSDYuMkwwLDcuNlYyMmgxOHYtM2gtMVYyMXogTTYsMi44VjhIMS4xTDYsMi44eiBNMTMsOGMtNS4xLDAtOSw1LTksNXM0LjEsNSw5LDVjNSwwLDktNSw5LTVTMTgsOCwxMyw4eiBNOC43LDE1LjVDNi44LDE0LjQsNi40LDEzLDYuNCwxM3MwLjQtMS41LDIuNC0yLjZDOC4zLDExLjIsOCwxMiw4LDEzQzgsMTMuOSw4LjMsMTQuOCw4LjcsMTUuNXogTTEzLDE2LjdjLTIuMSwwLTMuNy0xLjctMy43LTMuN2MwLTIuMSwxLjctMy43LDMuNy0zLjdjMi4xLDAsMy43LDEuNywzLjcsMy43QzE2LjcsMTUuMSwxNS4xLDE2LjcsMTMsMTYuN3ogTTE3LjMsMTUuNWMwLjQtMC43LDAuNy0xLjYsMC43LTIuNWMwLTEtMC4zLTEuOC0wLjctMi42YzIsMS4xLDMuNCwyLjYsMy40LDIuNlMxOS4yLDE0LjQsMTcuMywxNS41eiBNMTMsMTEuN2MtMC43LDAtMS4zLDAuNi0xLjMsMS4zczAuNiwxLjMsMS4zLDEuM3MxLjMtMC42LDEuMy0xLjNTMTMuNywxMS43LDEzLDExLjd6XCIvPjwvZz48L3N2Zz4nKTtcbiAgfVxuICAmLmljb24tZG93bmxvYWQge1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIGhlaWdodDogMjhweDtcbiAgICAuZW5jb2RlZC1zdmctYmFja2dyb3VuZCgnPHN2ZyB2ZXJzaW9uPVwiMS4xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHZpZXdCb3g9XCIwIDAgMjIgMjJcIiB5PVwiMHB4XCIgeD1cIjBweFwiIGZpbGw9XCJAe3RoZW1lQ29sb3J9XCI+PHBhdGggZD1cIk0xMiAwSDExTDExIDE0TDcuMzk5OTkgMTAuM0w2LjY5OTk5IDExLjFMMTEuNSAxNkwxNi4zIDExLjFMMTUuNiAxMC4zTDEyIDE0TDEyIDBaXCIvPjxwYXRoIGQ9XCJNMTQgNVY2SDE5VjIwSDRWNkg5VjVIM1YyMUgyMFY1SDE0WlwiLz48L3N2Zz4nKTtcbiAgfVxuICAmLmljb24tcHJpbnQge1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIGhlaWdodDogMjhweDtcbiAgICAuZW5jb2RlZC1zdmctYmFja2dyb3VuZCgnPHN2ZyB2ZXJzaW9uPVwiMS4xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHZpZXdCb3g9XCItMCAwIDIyIDIyXCIgeT1cIjBweFwiIHg9XCIwcHhcIiBmaWxsPVwiQHt0aGVtZUNvbG9yfVwiPjxnPjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk01IDFIMTdWNkgyMVYxN0gxN1YyMUg1VjE3SDFWNkg1VjFaTTYgNkgxNlYySDZWNlpNNSAxNlYxM0gyVjE2SDVaTTIgMTJIMjBWN0gyVjEyWk0yMCAxM0gxN1YxNkgyMFYxM1pNMTYgMTNINlYyMEgxNlYxM1pNMTQgMTZIOFYxNUgxNFYxNlpNMTQgMThIOFYxN0gxNFYxOFpcIi8+PC9nPjwvc3ZnPicpO1xuICB9XG4gICYuaWNvbi1pbmZvIHtcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAgLmVuY29kZWQtc3ZnLWJhY2tncm91bmQoJzxzdmcgdmVyc2lvbj1cIjEuMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB4PVwiMHB4XCIgeT1cIjBweFwiIHZpZXdCb3g9XCIwIDAgMjIgMjJcIiBmaWxsPVwiQHt0aGVtZUNvbG9yfVwiPjxnPjxwYXRoIGQ9XCJNMTAsMTdoMlY4aC0yVjE3eiBNMTEsMUM1LjUsMSwxLDUuNSwxLDExczQuNSwxMCwxMCwxMHMxMC00LjUsMTAtMTBTMTYuNSwxLDExLDF6IE0xMSwyMGMtNSwwLTktNC05LTlzNC05LDktOXM5LDQsOSw5UzE2LDIwLDExLDIweiBNMTAsN2gyVjVoLTJWN3pcIi8+PC9nPjwvc3ZnPicpO1xuICB9XG4gICYuaWNvbi1hYm91dCB7XG4gICAgd2lkdGg6IDIycHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIC5lbmNvZGVkLXN2Zy1iYWNrZ3JvdW5kKCc8c3ZnIHZlcnNpb249XCIxLjFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgeD1cIjBweFwiIHk9XCIwcHhcIiB2aWV3Qm94PVwiLTEgNyAyMiAyMlwiIGZpbGw9XCJAe3RoZW1lQ29sb3J9XCI+PGc+PHBhdGggZD1cIk0yMSwxOC41YzAtMC4zLTAuMS0wLjYtMC43LTAuOWwtMi42LTEuMmwyLjYtMS4yYzAuNi0wLjMsMC43LTAuNiwwLjctMC45YzAtMC4zLTAuMS0wLjYtMC43LTAuOWwtOC45LTQuMWMtMC43LTAuNC0xLjktMC40LTIuOCwwbC04LjksNC4xQy0wLjksMTMuOC0xLDE0LjEtMSwxNC4zczAuMSwwLjYsMC43LDAuOWwyLjYsMS4ybC0yLjYsMS4yQy0wLjksMTgtMSwxOC40LTEsMTguNWMwLDAuMiwwLjEsMC42LDAuNywwLjlsMi41LDEuMmwtMi41LDEuMkMtMC45LDIyLjEtMSwyMi41LTEsMjIuN2MwLDAuMywwLjEsMC42LDAuNywwLjlsOC45LDQuMWMwLjUsMC4yLDAuOCwwLjMsMS40LDAuM3MxLTAuMSwxLjQtMC4zbDguOS00LjFjMC42LTAuNCwwLjctMC42LDAuNy0wLjljMC0wLjMtMC4xLTAuNi0wLjctMC45bC0yLjUtMS4ybDIuNS0xLjJDMjAuOSwxOS4yLDIxLDE4LjgsMjEsMTguNXogTS0wLjIsMTQuM0wtMC4yLDE0LjNjMCwwLDAuMS0wLjEsMC4zLTAuMkw5LDEwYzAuNi0wLjMsMS41LTAuMywyLDBsOC45LDQuMWMwLjIsMC4xLDAuMywwLjIsMC4zLDAuMmwwLDBjMCwwLTAuMSwwLjEtMC4zLDAuMkwxMSwxOC42Yy0wLjYsMC4zLTEuNSwwLjMtMiwwbC04LjktNC4xQy0wLjEsMTQuNC0wLjIsMTQuMy0wLjIsMTQuM3ogTTIwLjIsMjIuN0wyMC4yLDIyLjdjMCwwLTAuMSwwLjEtMC4zLDAuMkwxMSwyNy4xYy0wLjYsMC4zLTEuNSwwLjMtMiwwbC04LjktNC4xYy0wLjItMC4xLTAuMy0wLjItMC4zLTAuMmwwLDBjMCwwLDAuMS0wLjEsMC4zLTAuMmwzLTEuNWw1LjUsMi42YzAuNywwLjQsMS45LDAuNCwyLjgsMGw1LjUtMi42bDMsMS41QzIwLjEsMjIuNywyMC4yLDIyLjcsMjAuMiwyMi43eiBNMTkuOSwxOC43TDExLDIyLjhjLTAuNiwwLjMtMS41LDAuMy0yLDBsLTguOS00LjFjLTAuMi0wLjEtMC4zLTAuMi0wLjMtMC4ybDAsMGMwLDAsMC4xLTAuMSwwLjMtMC4ybDMtMS41bDUuNSwyLjZjMC43LDAuNCwxLjksMC40LDIuOCwwbDUuNS0yLjZsMywxLjVjMC4yLDAuMSwwLjMsMC4yLDAuMywwLjJsMCwwQzIwLjIsMTguNSwyMC4xLDE4LjYsMTkuOSwxOC43elwiLz48L2c+PC9zdmc+Jyk7XG4gIH1cbiAgJi5pY29uLWhlbHAge1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIGhlaWdodDogMjJweDtcbiAgICAuZW5jb2RlZC1zdmctYmFja2dyb3VuZCgnPHN2ZyB2ZXJzaW9uPVwiMS4xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHg9XCIwcHhcIiB5PVwiMHB4XCIgdmlld0JveD1cIjAgMCAyMiAyMlwiIGZpbGw9XCJAe3RoZW1lQ29sb3J9XCI+PGc+PHBhdGggZD1cIk0xMS42LDEuM2MtMy4zLDAtNiwyLjgtNiw2LjJjMC4zLDAsMC43LDAsMC45LDBjMC0yLjksMi4zLTUuMiw1LjEtNS4yczUuMSwyLjMsNS4xLDUuMmMwLDEuNy0xLjksMy4yLTMsNC4zQzEyLjksMTIuNiwxMSwxNC4yLDExLDE2YzAsMS4yLDAsMi4yLDAsMi43YzAuMywwLDAuNiwwLDAuOSwwYzAtMC42LDAtMS42LDAtMi41YzAtMS40LDEuMS0yLjQsMi4yLTMuNWMxLjctMS41LDMuNS0zLjEsMy41LTUuMkMxNy42LDQuMSwxNC45LDEuMywxMS42LDEuM3ogTTExLjUsMjAuMmMtMC4zLDAtMC41LDAuMi0wLjUsMC41djAuOGMwLDAuMywwLjIsMC41LDAuNSwwLjVzMC41LTAuMiwwLjUtMC41di0wLjhDMTEuOSwyMC40LDExLjcsMjAuMiwxMS41LDIwLjJ6XCIvPjwvZz48L3N2Zz4nKTtcbiAgfVxuICAmLmljb24tdmVyc2lvbnMge1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIGhlaWdodDogMjJweDtcbiAgICAuZW5jb2RlZC1zdmctYmFja2dyb3VuZCgnPHN2ZyB2ZXJzaW9uPVwiMS4xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHg9XCIwcHhcIiB5PVwiMHB4XCIgdmlld0JveD1cIi0xIDcgMjIgMjJcIiBmaWxsPVwiQHt0aGVtZUNvbG9yfVwiPjxnPjxwYXRoIGQ9XCJNMTksMTJjMC0xLjEtMC45LTItMi0yYzAtMS4xLTAuOS0yLTItMkg1Yy0xLjEsMC0yLDAuOS0yLDJjLTEuMSwwLTIsMC45LTIsMmMtMS4xLDAtMiwwLjktMiwydjEyYzAsMS4xLDAuOSwyLDIsMmgxOGMxLjEsMCwyLTAuOSwyLTJWMTRDMjEsMTIuOSwyMC4xLDEyLDE5LDEyeiBNNSw5aDEwYzAuNiwwLDEsMC40LDEsMUg0QzQsOS40LDQuNCw5LDUsOXogTTMsMTFoMTRjMC42LDAsMSwwLjQsMSwxSDJDMiwxMS40LDIuNCwxMSwzLDExeiBNMjAsMjZjMCwwLjYtMC40LDEtMSwxSDFjLTAuNiwwLTEtMC40LTEtMVYxNGMwLTAuNiwwLjQtMSwxLTFoMThjMC42LDAsMSwwLjQsMSwxVjI2elwiLz48L2c+PC9zdmc+Jyk7XG4gIH1cbiAgJi5pY29uLXRleHQtY29sb3Ige1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIGhlaWdodDogMjJweDtcbiAgICAuZW5jb2RlZC1zdmctYmFja2dyb3VuZCgnPHN2ZyB2ZXJzaW9uPVwiMS4xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHg9XCIwcHhcIiB5PVwiMHB4XCIgdmlld0JveD1cIjAgMCAyMiAyMlwiIGZpbGw9XCJAe3RoZW1lQ29sb3J9XCI+PGc+PHBhdGggZD1cIk04LjksMTJsMi4zLTYuM2wyLjIsNi4zSDguOXogTTQuNywxNy44aDJsMS42LTQuM2g1LjZsMS41LDQuM2gyLjFMMTIuMywzLjVoLTIuMkw0LjcsMTcuOHpcIi8+PC9nPjwvc3ZnPicpO1xuICB9XG4gICYuaWNvbi10ZXh0LWFsaWduLWNlbnRlciB7XG4gICAgd2lkdGg6IDIycHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIC5lbmNvZGVkLXN2Zy1tYXNrKCc8c3ZnIHZlcnNpb249XCIxLjFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgeD1cIjBweFwiIHk9XCIwcHhcIiB2aWV3Qm94PVwiMCAwIDIyIDIyXCIgZmlsbD1cIkB7dGhlbWVDb2xvcn1cIj48Zz48cGF0aCBkPVwiTTEsM3YxaDIxVjNIMXogTTQsN3YxaDE0VjdINHogTTEsMTJoMjF2LTFIMVYxMnogTTQsMTV2MWgxNHYtMUg0eiBNMSwyMGgyMXYtMUgxVjIwelwiLz48L2c+PC9zdmc+Jyk7XG4gIH1cbiAgJi5pY29uLXRleHQtYWxpZ24tamFzdCB7XG4gICAgd2lkdGg6IDIycHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIC5lbmNvZGVkLXN2Zy1tYXNrKCc8c3ZnIHZlcnNpb249XCIxLjFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgeD1cIjBweFwiIHk9XCIwcHhcIiB2aWV3Qm94PVwiMCAwIDIyIDIyXCIgZmlsbD1cIkB7dGhlbWVDb2xvcn1cIj48Zz48cGF0aCBkPVwiTTEsM3YxaDIxVjNIMXogTTEsOGgyMVY3SDFWOHogTTEsMTJoMjF2LTFIMVYxMnogTTEsMTZoMjF2LTFIMVYxNnogTTEsMjBoMjF2LTFIMVYyMHpcIi8+PC9nPjwvc3ZnPicpO1xuICB9XG4gICYuaWNvbi10ZXh0LWFsaWduLWxlZnQge1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIGhlaWdodDogMjJweDtcbiAgICAuZW5jb2RlZC1zdmctbWFzaygnPHN2ZyB2ZXJzaW9uPVwiMS4xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHg9XCIwcHhcIiB5PVwiMHB4XCIgdmlld0JveD1cIjAgMCAyMiAyMlwiIGZpbGw9XCJAe3RoZW1lQ29sb3J9XCI+PGc+PHBhdGggZD1cIk0xLDN2MWgyMVYzSDF6IE0xNSw3SDF2MWgxNFY3eiBNMSwxMmgyMXYtMUgxVjEyeiBNMTUsMTVIMXYxaDE0VjE1eiBNMSwyMGgyMXYtMUgxVjIwelwiLz48L2c+PC9zdmc+Jyk7XG4gIH1cbiAgJi5pY29uLXRleHQtYWxpZ24tcmlnaHQge1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIGhlaWdodDogMjJweDtcbiAgICAuZW5jb2RlZC1zdmctbWFzaygnPHN2ZyB2ZXJzaW9uPVwiMS4xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHg9XCIwcHhcIiB5PVwiMHB4XCIgdmlld0JveD1cIjAgMCAyMiAyMlwiIGZpbGw9XCJAe3RoZW1lQ29sb3J9XCI+PGc+PHBhdGggZD1cIk0xLDN2MWgyMVYzSDF6IE04LDhoMTRWN0g4Vjh6IE0yMiwxMUgxdjFoMjFWMTF6IE04LDE2aDE0di0xSDhWMTZ6IE0yMiwxOUgxdjFoMjFWMTl6XCIvPjwvZz48L3N2Zz4nKTtcbiAgfVxuICAmLmljb24tdGV4dC12YWxpZ24tdG9wIHtcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAgLmVuY29kZWQtc3ZnLW1hc2soJzxzdmcgdmVyc2lvbj1cIjEuMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB4PVwiMHB4XCIgeT1cIjBweFwiIHZpZXdCb3g9XCIwIDAgMjIgMjJcIiBmaWxsPVwiQHt0aGVtZUNvbG9yfVwiPjxnPjxyZWN0IGNsYXNzPVwiY2xzLTFcIiB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIxOVwiIGhlaWdodD1cIjFcIi8+PHJlY3QgY2xhc3M9XCJjbHMtMVwiIHg9XCIyXCIgeT1cIjRcIiB3aWR0aD1cIjE5XCIgaGVpZ2h0PVwiMVwiLz48cG9seWdvbiBjbGFzcz1cImNscy0xXCIgcG9pbnRzPVwiMTIgMTggMTEgMTggMTEgNy44MyA4LjY1IDkuOCA4IDguOTQgMTEuNSA2IDE1IDkgMTQuMzUgOS44IDEyIDcuODMgMTIgMThcIi8+PC9nPjwvc3ZnPicpO1xuICB9XG4gICYuaWNvbi10ZXh0LXZhbGlnbi1taWRkbGUge1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIGhlaWdodDogMjJweDtcbiAgICAuZW5jb2RlZC1zdmctbWFzaygnPHN2ZyB2ZXJzaW9uPVwiMS4xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHg9XCIwcHhcIiB5PVwiMHB4XCIgdmlld0JveD1cIjAgMCAyMiAyMlwiIGZpbGw9XCJAe3RoZW1lQ29sb3J9XCI+PGc+PHJlY3QgY2xhc3M9XCJjbHMtMVwiIHg9XCIyXCIgeT1cIjEwXCIgd2lkdGg9XCIxOVwiIGhlaWdodD1cIjFcIi8+PHJlY3QgY2xhc3M9XCJjbHMtMVwiIHg9XCIyXCIgeT1cIjEyXCIgd2lkdGg9XCIxOVwiIGhlaWdodD1cIjFcIi8+PHBvbHlnb24gY2xhc3M9XCJjbHMtMVwiIHBvaW50cz1cIjExIDIgMTIgMiAxMiA3LjE3IDE0LjM1IDUuMiAxNSA2LjA2IDExLjUgOSA4IDYgOC42NSA1LjIgMTEgNy4xNyAxMSAyXCIvPjxwb2x5Z29uIGNsYXNzPVwiY2xzLTFcIiBwb2ludHM9XCIxMiAyMSAxMSAyMSAxMSAxNS44MyA4LjY1IDE3LjggOCAxNi45NCAxMS41IDE0IDE1IDE3IDE0LjM1IDE3LjggMTIgMTUuODMgMTIgMjFcIi8+PC9nPjwvc3ZnPicpO1xuICB9XG4gICYuaWNvbi10ZXh0LXZhbGlnbi1ib3R0b20ge1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIGhlaWdodDogMjJweDtcbiAgICAuZW5jb2RlZC1zdmctbWFzaygnPHN2ZyB2ZXJzaW9uPVwiMS4xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHg9XCIwcHhcIiB5PVwiMHB4XCIgdmlld0JveD1cIjAgMCAyMiAyMlwiIGZpbGw9XCJAe3RoZW1lQ29sb3J9XCI+PGc+PHJlY3QgY2xhc3M9XCJjbHMtMVwiIHg9XCIyXCIgeT1cIjE4XCIgd2lkdGg9XCIxOVwiIGhlaWdodD1cIjFcIi8+PHJlY3QgY2xhc3M9XCJjbHMtMVwiIHg9XCIyXCIgeT1cIjIwXCIgd2lkdGg9XCIxOVwiIGhlaWdodD1cIjFcIi8+PHBvbHlnb24gY2xhc3M9XCJjbHMtMVwiIHBvaW50cz1cIjExIDQgMTIgNCAxMiAxNS4xNyAxNC4zNSAxMy4yIDE1IDE0LjA2IDExLjUgMTcgOCAxNCA4LjY1IDEzLjIgMTEgMTUuMTcgMTEgNFwiLz48L2c+PC9zdmc+Jyk7XG4gIH1cbiAgJi5pY29uLWxpbmsge1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIGhlaWdodDogMjJweDtcbiAgICAuZW5jb2RlZC1zdmctYmFja2dyb3VuZCgnPHN2ZyB2ZXJzaW9uPVwiMS4xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHg9XCIwcHhcIiB5PVwiMHB4XCIgdmlld0JveD1cIjAgMCAyMiAyMlwiIGZpbGw9XCJAe3RoZW1lQ29sb3J9XCI+PGc+PHBhdGggZD1cIk0xMi40LDkuOGMwLDAtMi4xLTAuMS0zLjgsMS4yYy0yLjgsMi0zLjMsNC4zLTMuMyw0LjNzMS42LTEuNywzLjUtMi41YzEuNy0wLjcsMy43LTAuNCwzLjctMC40djEuOWw0LjgtMy4zVjExbC00LjgtMy4zVjkuOHogTTExLDFDNS41LDEsMSw1LjUsMSwxMWMwLDUuNSw0LjUsMTAsMTAsMTBzMTAtNC41LDEwLTEwQzIxLDUuNSwxNi41LDEsMTEsMXogTTExLDIwYy01LDAtOS00LjEtOS05QzIsNiw2LDIsMTEsMnM5LDQuMSw5LDlDMjAsMTYsMTYsMjAsMTEsMjB6XCIvPjwvZz48L3N2Zz4nKTtcbiAgfVxuICAmLmljb24taW5zaW1hZ2Uge1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIGhlaWdodDogMjJweDtcbiAgICAuZW5jb2RlZC1zdmctYmFja2dyb3VuZCgnPHN2ZyB2ZXJzaW9uPVwiMS4xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHg9XCIwcHhcIiB5PVwiMHB4XCIgdmlld0JveD1cIjAgMCAyMiAyMlwiIGZpbGw9XCJAe3RoZW1lQ29sb3J9XCI+PHBhdGggaWQ9XCJYTUxJRF80M19cIiBkPVwiTTE5LDRMMTksNEgzdjE1bDAsMGwwLDBsMCwwaDE3VjRIMTl6IE03LjUsN0M4LjMsNyw5LDcuNyw5LDguNVM4LjMsMTAsNy41LDEwUzYsOS4zLDYsOC41UzYuNyw3LDcuNSw3ek01LjIsMThsNS41LTUuNWw1LjUsNS41SDUuMnogTTE5LDE4aC0xLjVsLTQuMy00LjNsNC00bDEuOCwxLjhWMTh6XCIvPjwvc3ZnPicpO1xuICB9XG4gICYuaWNvbi1zb3J0IHtcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAgLmVuY29kZWQtc3ZnLWJhY2tncm91bmQoJzxzdmcgdmVyc2lvbj1cIjEuMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB4PVwiMHB4XCIgeT1cIjBweFwiIHZpZXdCb3g9XCIwIDAgMjIgMjJcIiBmaWxsPVwiQHt0aGVtZUNvbG9yfVwiPjxwb2x5Z29uIHBvaW50cz1cIjgsMTYuNCA3LjMsMTUuNyA1LDE4LjEgNSwyIDQsMiA0LDE4LjEgMS43LDE1LjcgMSwxNi40IDQuNSwyMCA0LjUsMjAgNC41LDIwIFwiLz48cGF0aCBkPVwiTTE5LjMsNEg4LjdDOC4xLDQsNy44LDQuNiw4LjEsNS4xbDMuOSw1Ljl2NC43bDIuOCwxLjVjMC41LDAuMywxLjEtMC4xLDEuMS0wLjdWMTFoMGwzLjktNS45QzIwLjIsNC42LDE5LjksNCwxOS4zLDR6XCIvPjwvc3ZnPicpO1xuICB9XG4gICYuaWNvbi1pbWFnZS1saWJyYXJ5IHtcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAgLmVuY29kZWQtc3ZnLWJhY2tncm91bmQoJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHZpZXdCb3g9XCIwIDAgMjIgMjJcIj48ZGVmcz48c3R5bGU+LmNscy0xe2lzb2xhdGlvbjppc29sYXRlO30uY2xzLTJ7b3BhY2l0eTowLjI7fS5jbHMtM3tmaWxsOiNmZmY7fS5jbHMtMTAsLmNscy0xMSwuY2xzLTQsLmNscy02LC5jbHMtNywuY2xzLTgsLmNscy05e21peC1ibGVuZC1tb2RlOm11bHRpcGx5O30uY2xzLTR7ZmlsbDp1cmwoI2dyYWRfOCk7fS5jbHMtNXtmaWxsOnVybCgjZ3JhZF8xMCk7fS5jbHMtNntmaWxsOnVybCgjZ3JhZF8xMik7fS5jbHMtN3tmaWxsOnVybCgjZ3JhZF8xNCk7fS5jbHMtOHtmaWxsOnVybCgjZ3JhZF83OSk7fS5jbHMtOXtmaWxsOnVybCgjZ3JhZF83Nyk7fS5jbHMtMTB7ZmlsbDp1cmwoI2dyYWRfNzUpO30uY2xzLTExe2ZpbGw6dXJsKCNncmFkXzgxKTt9PC9zdHlsZT48bGluZWFyR3JhZGllbnQgaWQ9XCJncmFkXzhcIiB4MT1cIjExLjA4XCIgeTE9XCIxMC4yNlwiIHgyPVwiMTEuMDhcIiB5Mj1cIjEuMjZcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj48c3RvcCBvZmZzZXQ9XCIwXCIgc3RvcC1jb2xvcj1cIiNmM2U5MTZcIi8+PHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjZjg5ZDM0XCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPVwiZ3JhZF8xMFwiIHgxPVwiMTEuMDhcIiB5MT1cIjIwLjQ0XCIgeDI9XCIxMS4wOFwiIHkyPVwiMTEuODhcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj48c3RvcCBvZmZzZXQ9XCIwXCIgc3RvcC1jb2xvcj1cIiM1ZWI2ZThcIi8+PHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjOTU4Y2MzXCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPVwiZ3JhZF8xMlwiIHgxPVwiMS40NlwiIHkxPVwiMTEuMDVcIiB4Mj1cIjEwLjQ2XCIgeTI9XCIxMS4wNVwiIGdyYWRpZW50VHJhbnNmb3JtPVwidHJhbnNsYXRlKDE3IDUuMDkpIHJvdGF0ZSg5MClcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj48c3RvcCBvZmZzZXQ9XCIwXCIgc3RvcC1jb2xvcj1cIiNjYzhkYmFcIi8+PHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjZjg2ODY3XCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPVwiZ3JhZF8xNFwiIHgxPVwiMTEuNzNcIiB5MT1cIjExLjA1XCIgeDI9XCIyMC43M1wiIHkyPVwiMTEuMDVcIiBncmFkaWVudFRyYW5zZm9ybT1cInRyYW5zbGF0ZSgyNy4yOCAtNS4xOCkgcm90YXRlKDkwKVwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPjxzdG9wIG9mZnNldD1cIjBcIiBzdG9wLWNvbG9yPVwiIzZhYzA3ZlwiLz48c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiNjNWRhM2RcIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9XCJncmFkXzc5XCIgeDE9XCIxMS43NFwiIHkxPVwiMTAuNDJcIiB4Mj1cIjE3LjUyXCIgeTI9XCI0LjYzXCIgZ3JhZGllbnRUcmFuc2Zvcm09XCJ0cmFuc2xhdGUoMzAuMjkgMi41MSkgcm90YXRlKDEzNSlcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj48c3RvcCBvZmZzZXQ9XCIwXCIgc3RvcC1jb2xvcj1cIiNjNWRhM2RcIi8+PHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjZjNlOTE2XCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPVwiZ3JhZF83N1wiIHgxPVwiNC43XCIgeTE9XCIxNy40OVwiIHgyPVwiMTAuNDhcIiB5Mj1cIjExLjcxXCIgZ3JhZGllbnRUcmFuc2Zvcm09XCJ0cmFuc2xhdGUoMjMuMjQgMTkuNjUpIHJvdGF0ZSgxMzUpXCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+PHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3AtY29sb3I9XCIjOTU5NWMzXCIvPjxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiI2NjOGRiYVwiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD1cImdyYWRfNzVcIiB4MT1cIjQuNjlcIiB5MT1cIjQuNjRcIiB4Mj1cIjEwLjQ3XCIgeTI9XCIxMC40MlwiIGdyYWRpZW50VHJhbnNmb3JtPVwidHJhbnNsYXRlKDcuNTQgLTMuMTUpIHJvdGF0ZSg0NSlcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj48c3RvcCBvZmZzZXQ9XCIwXCIgc3RvcC1jb2xvcj1cIiNmODY4NjdcIi8+PHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjZjg5ZDM0XCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPVwiZ3JhZF84MVwiIHgxPVwiMTEuNzdcIiB5MT1cIjExLjc4XCIgeDI9XCIxNy41NVwiIHkyPVwiMTcuNTZcIiBncmFkaWVudFRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxNC42MyAtNi4wNSkgcm90YXRlKDQ1KVwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPjxzdG9wIG9mZnNldD1cIjBcIiBzdG9wLWNvbG9yPVwiIzVlYzBlOFwiLz48c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiM2YWMwN2ZcIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHRpdGxlPmljb25zX2Zvcl9zdmc8L3RpdGxlPjxnIGNsYXNzPVwiY2xzLTFcIj48ZyBpZD1cItCh0LvQvtC5XzFcIiBkYXRhLW5hbWU9XCLQodC70L7QuSAxXCI+PHJlY3QgY2xhc3M9XCJjbHMtMlwiIHg9XCIwLjA5XCIgeT1cIjAuMDFcIiB3aWR0aD1cIjIyXCIgaGVpZ2h0PVwiMjJcIiByeD1cIjRcIiByeT1cIjRcIi8+PHJlY3QgY2xhc3M9XCJjbHMtM1wiIHg9XCIwLjU3XCIgeT1cIjAuNDlcIiB3aWR0aD1cIjIxLjA0XCIgaGVpZ2h0PVwiMjEuMDRcIiByeD1cIjMuNlwiIHJ5PVwiMy42XCIvPjxyZWN0IGNsYXNzPVwiY2xzLTRcIiB4PVwiOC4zM1wiIHk9XCIxLjI2XCIgd2lkdGg9XCI1LjVcIiBoZWlnaHQ9XCI5XCIgcng9XCIyLjVcIiByeT1cIjIuNVwiLz48cmVjdCBjbGFzcz1cImNscy01XCIgeD1cIjguMzNcIiB5PVwiMTEuNzZcIiB3aWR0aD1cIjUuNVwiIGhlaWdodD1cIjlcIiByeD1cIjIuNVwiIHJ5PVwiMi41XCIvPjxyZWN0IGNsYXNzPVwiY2xzLTZcIiB4PVwiMy4yMVwiIHk9XCI2LjU1XCIgd2lkdGg9XCI1LjVcIiBoZWlnaHQ9XCI5XCIgcng9XCIyLjVcIiByeT1cIjIuNVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtNS4wOSAxNykgcm90YXRlKC05MClcIi8+PHJlY3QgY2xhc3M9XCJjbHMtN1wiIHg9XCIxMy40OFwiIHk9XCI2LjU1XCIgd2lkdGg9XCI1LjVcIiBoZWlnaHQ9XCI5XCIgcng9XCIyLjVcIiByeT1cIjIuNVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg1LjE4IDI3LjI4KSByb3RhdGUoLTkwKVwiLz48cmVjdCBjbGFzcz1cImNscy04XCIgeD1cIjExLjg3XCIgeT1cIjMuMDNcIiB3aWR0aD1cIjUuNVwiIGhlaWdodD1cIjlcIiByeD1cIjIuNVwiIHJ5PVwiMi41XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDE5LjY0IDIzLjE5KSByb3RhdGUoLTEzNSlcIi8+PHJlY3QgY2xhc3M9XCJjbHMtOVwiIHg9XCI0LjhcIiB5PVwiMTAuMTRcIiB3aWR0aD1cIjUuNVwiIGhlaWdodD1cIjlcIiByeD1cIjIuNVwiIHJ5PVwiMi41XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDIuNTQgMzAuMzMpIHJvdGF0ZSgtMTM1KVwiLz48cmVjdCBjbGFzcz1cImNscy0xMFwiIHg9XCI0LjgzXCIgeT1cIjMuMDNcIiB3aWR0aD1cIjUuNVwiIGhlaWdodD1cIjlcIiByeD1cIjIuNVwiIHJ5PVwiMi41XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0zLjEgNy41Nikgcm90YXRlKC00NSlcIi8+PHJlY3QgY2xhc3M9XCJjbHMtMTFcIiB4PVwiMTEuODdcIiB5PVwiMTAuMTRcIiB3aWR0aD1cIjUuNVwiIGhlaWdodD1cIjlcIiByeD1cIjIuNVwiIHJ5PVwiMi41XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC02LjA3IDE0LjYzKSByb3RhdGUoLTQ1KVwiLz48L2c+PC9nPjwvc3ZnPicpO1xuICB9XG4gICYuaWNvbi1mdW5jdGlvbiB7XG4gICAgd2lkdGg6IDIycHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIC5lbmNvZGVkLXN2Zy1iYWNrZ3JvdW5kKCc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB2ZXJzaW9uPVwiMS4xXCIgeD1cIjBcIiB5PVwiMFwiIHZpZXdCb3g9XCItMjM4IDI0MCAyNCAyMlwiIHhtbDpzcGFjZT1cInByZXNlcnZlXCIgZW5hYmxlLWJhY2tncm91bmQ9XCJuZXcgLTIzOCAyNDAgMjIgMjJcIj48c3R5bGUgdHlwZT1cInRleHQvY3NzXCI+LnN0MHtmaWxsOm5vbmU7c3Ryb2tlOiMwMDA7c3Ryb2tlLXdpZHRoOjAuNTtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fS5zdDF7c3Ryb2tlOiMwMDA7c3Ryb2tlLXdpZHRoOjAuNTtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fTwvc3R5bGU+PHBhdGggZD1cIk0tMjI2Ljk0IDI1Ny43NGMtMC4yNi0wLjU0LTAuNDYtMS4xOC0wLjYxLTEuOTIgLTAuMTUtMC43My0wLjIyLTEuNDYtMC4yMi0yLjE4IDAtMS4zNSAwLjI2LTIuNyAwLjc4LTQuMDQgMC41Mi0xLjM1IDEuMjItMi40OSAyLjEtMy40MyAwLjg4LTAuOTQgMS41MS0xLjUzIDEuODktMS43NyAwLjEtMC4wNiAwLjE0LTAuMSAwLjE0LTAuMTMgMC0wLjA0LTAuMDctMC4wNS0wLjIxLTAuMDUgLTAuMzEgMC0wLjU1IDAuMDQtMC43MSAwLjEyIC0wLjE2IDAuMDgtMC41MyAwLjQtMS4xIDAuOTZzLTEuMDcgMS4xNC0xLjQ5IDEuNzVjLTAuNDIgMC42MS0wLjc4IDEuMjUtMS4wNiAxLjk0IC0wLjI5IDAuNjktMC41MSAxLjQyLTAuNjggMi4xOSAtMC4xNyAwLjc3LTAuMjUgMS42My0wLjI1IDIuNTcgMCAwLjU4IDAuMDcgMS4yNSAwLjIgMS45OSAwLjEzIDAuNzQgMC4zMyAxLjQxIDAuNTggMiAwLjI1IDAuNTkgMC40MSAwLjkgMC40OCAwLjk0IDAuMDcgMC4wNCAwLjI0IDAuMDYgMC41MSAwLjA2IDAuMDkgMCAwLjEzLTAuMDIgMC4xMy0wLjA1bC0wLjAzLTAuMDVDLTIyNi41MyAyNTguNTktMjI2LjY4IDI1OC4yOS0yMjYuOTQgMjU3Ljc0ek0tMjE5LjE1IDI1My4wNWMwLTAuMDktMC4wNC0wLjE0LTAuMTItMC4xNCAtMC4wOCAwLTAuMTggMC4wOC0wLjI5IDAuMjQgLTAuMjggMC40MS0wLjU5IDAuNzEtMC45MiAwLjkxcy0wLjYxIDAuMy0wLjg1IDAuM2MtMC4xOCAwLTAuMzYtMC4wOC0wLjUyLTAuMjUgLTAuMTctMC4xNi0wLjI1LTAuNDItMC4yNS0wLjc3IDAtMC42OSAwLjIzLTEuNjYgMC42OC0yLjkzIDAuNDUtMS4yNyAxLjAxLTEuOSAxLjY4LTEuOSAwLjE1IDAgMC4yMiAwLjA4IDAuMjIgMC4yNCAwIDAuMDYtMC4wMSAwLjE1LTAuMDQgMC4yNyAtMC4wMiAwLjA3LTAuMDIgMC4xMi0wLjAyIDAuMTggMCAwLjEzIDAuMDUgMC4yMyAwLjE0IDAuMzIgMC4wOSAwLjA4IDAuMiAwLjEzIDAuMzQgMC4xMyAwLjE5IDAgMC4zNC0wLjA2IDAuNDUtMC4xNyAwLjEtMC4xMSAwLjE2LTAuMjQgMC4xNi0wLjM4IDAtMC4yNC0wLjEtMC40Ny0wLjI5LTAuNjcgLTAuMTktMC4yMS0wLjQzLTAuMzEtMC43MS0wLjMxIC0wLjU1IDAtMS4wOSAwLjI5LTEuNjIgMC44NyAtMC4xMSAwLjEyLTAuMTggMC4xOC0wLjIxIDAuMThsLTAuMDgtMC4wM2MtMC4wNi0wLjMzLTAuMTctMC41OC0wLjM0LTAuNzUgLTAuMTctMC4xNy0wLjQtMC4yNS0wLjY5LTAuMjUgLTAuMzcgMC0wLjc4IDAuMTktMS4yMiAwLjU2IC0wLjQ0IDAuMzctMC42NiAwLjYyLTAuNjYgMC43NCAwIDAuMDggMC4wNCAwLjExIDAuMTMgMC4xMSAwLjA4IDAgMC4yLTAuMDkgMC4zNy0wLjI3IDAuNDUtMC40OCAwLjgxLTAuNzIgMS4wOS0wLjcyIDAuMTQgMCAwLjI3IDAuMDggMC4zOCAwLjI1IDAuMTEgMC4xNyAwLjE2IDAuMzkgMC4xNiAwLjY3IDAgMC41OC0wLjI3IDEuNTMtMC44IDIuODUgLTAuNTQgMS4zMi0xLjEgMS45OC0xLjY4IDEuOTggLTAuMTMgMC0wLjIzLTAuMDUtMC4zLTAuMTQgLTAuMDgtMC4wOS0wLjEyLTAuMTgtMC4xMi0wLjI3IDAtMC4wNSAwLjAxLTAuMTIgMC4wMy0wLjIzIDAuMDEtMC4wNyAwLjAyLTAuMTMgMC4wMi0wLjE4IDAtMC4zLTAuMTQtMC40NS0wLjQyLTAuNDUgLTAuMTggMC0wLjMzIDAuMDctMC40NiAwLjIgLTAuMTMgMC4xMy0wLjIgMC4zLTAuMiAwLjUxIDAgMC4yNiAwLjEzIDAuNDggMC40IDAuNjYgMC4yNyAwLjE4IDAuNTYgMC4yNiAwLjg2IDAuMjYgMC40IDAgMC44Ny0wLjIzIDEuNDEtMC42OCAwLjIzLTAuMTkgMC4zOS0wLjMxIDAuNDctMC4zNiAwLjA0IDAuMDUgMC4xMSAwLjE3IDAuMjEgMC4zNyAwLjI2IDAuNDggMC42NiAwLjcxIDEuMjEgMC43MSAwLjU3IDAgMS4xMS0wLjIyIDEuNjMtMC42N0MtMjE5LjQxIDI1My41OS0yMTkuMTUgMjUzLjI2LTIxOS4xNSAyNTMuMDV6TS0yMTYuMiAyNDcuMjJjLTAuMTMtMC43NS0wLjMzLTEuNDEtMC41OC0yIC0wLjI1LTAuNTktMC40MS0wLjktMC40OC0wLjk0IC0wLjA3LTAuMDQtMC4yNC0wLjA2LTAuNTEtMC4wNiAtMC4wOSAwLTAuMTMgMC4wMi0wLjEzIDAuMDVsMC4wMyAwLjA1YzAuMDUgMC4wNiAwLjIgMC4zNiAwLjQ2IDAuOTEgMC4yNiAwLjU0IDAuNDYgMS4xOCAwLjYxIDEuOTEgMC4xNSAwLjczIDAuMjIgMS40NiAwLjIyIDIuMTcgMCAxLjM2LTAuMjYgMi43MS0wLjc4IDQuMDUgLTAuNTIgMS4zNS0xLjIyIDIuNDktMi4xMSAzLjQzIC0wLjg5IDAuOTQtMS41MSAxLjUzLTEuODkgMS43N2wtMC4xNCAwLjEzYzAgMC4wNCAwLjA3IDAuMDYgMC4yMSAwLjA2IDAuMyAwIDAuNS0wLjAyIDAuNTktMC4wNSAwLjEtMC4wMyAwLjQ3LTAuMzUgMS4xMS0wLjk0IDAuNjQtMC41OSAxLjE5LTEuMjQgMS42NS0xLjk0IDAuNDYtMC43IDAuODMtMS40IDEuMTItMi4xMSAwLjI4LTAuNyAwLjQ5LTEuNDQgMC42Mi0yLjIxQy0yMTYuMDYgMjUwLjc0LTIxNiAyNDkuOTgtMjE2IDI0OS4yMSAtMjE2IDI0OC42My0yMTYuMDcgMjQ3Ljk3LTIxNi4yIDI0Ny4yMnpcIi8+PHBhdGggY2xhc3M9XCJzdDBcIiBkPVwiTS0yMjYuOTQgMjU3Ljc0Yy0wLjI2LTAuNTQtMC40Ni0xLjE4LTAuNjEtMS45MiAtMC4xNS0wLjczLTAuMjItMS40Ni0wLjIyLTIuMTggMC0xLjM1IDAuMjYtMi43IDAuNzgtNC4wNCAwLjUyLTEuMzUgMS4yMi0yLjQ5IDIuMS0zLjQzIDAuODgtMC45NCAxLjUxLTEuNTMgMS44OS0xLjc3IDAuMS0wLjA2IDAuMTQtMC4xIDAuMTQtMC4xMyAwLTAuMDQtMC4wNy0wLjA1LTAuMjEtMC4wNSAtMC4zMSAwLTAuNTUgMC4wNC0wLjcxIDAuMTIgLTAuMTYgMC4wOC0wLjUzIDAuNC0xLjEgMC45NnMtMS4wNyAxLjE0LTEuNDkgMS43NWMtMC40MiAwLjYxLTAuNzggMS4yNS0xLjA2IDEuOTQgLTAuMjkgMC42OS0wLjUxIDEuNDItMC42OCAyLjE5IC0wLjE3IDAuNzctMC4yNSAxLjYzLTAuMjUgMi41NyAwIDAuNTggMC4wNyAxLjI1IDAuMiAxLjk5IDAuMTMgMC43NCAwLjMzIDEuNDEgMC41OCAyIDAuMjUgMC41OSAwLjQxIDAuOSAwLjQ4IDAuOTQgMC4wNyAwLjA0IDAuMjQgMC4wNiAwLjUxIDAuMDYgMC4wOSAwIDAuMTMtMC4wMiAwLjEzLTAuMDVsLTAuMDMtMC4wNUMtMjI2LjUzIDI1OC41OS0yMjYuNjggMjU4LjI5LTIyNi45NCAyNTcuNzR6TS0yMTkuMTUgMjUzLjA1YzAtMC4wOS0wLjA0LTAuMTQtMC4xMi0wLjE0IC0wLjA4IDAtMC4xOCAwLjA4LTAuMjkgMC4yNCAtMC4yOCAwLjQxLTAuNTkgMC43MS0wLjkyIDAuOTFzLTAuNjEgMC4zLTAuODUgMC4zYy0wLjE4IDAtMC4zNi0wLjA4LTAuNTItMC4yNSAtMC4xNy0wLjE2LTAuMjUtMC40Mi0wLjI1LTAuNzcgMC0wLjY5IDAuMjMtMS42NiAwLjY4LTIuOTMgMC40NS0xLjI3IDEuMDEtMS45IDEuNjgtMS45IDAuMTUgMCAwLjIyIDAuMDggMC4yMiAwLjI0IDAgMC4wNi0wLjAxIDAuMTUtMC4wNCAwLjI3IC0wLjAyIDAuMDctMC4wMiAwLjEyLTAuMDIgMC4xOCAwIDAuMTMgMC4wNSAwLjIzIDAuMTQgMC4zMiAwLjA5IDAuMDggMC4yIDAuMTMgMC4zNCAwLjEzIDAuMTkgMCAwLjM0LTAuMDYgMC40NS0wLjE3IDAuMS0wLjExIDAuMTYtMC4yNCAwLjE2LTAuMzggMC0wLjI0LTAuMS0wLjQ3LTAuMjktMC42NyAtMC4xOS0wLjIxLTAuNDMtMC4zMS0wLjcxLTAuMzEgLTAuNTUgMC0xLjA5IDAuMjktMS42MiAwLjg3IC0wLjExIDAuMTItMC4xOCAwLjE4LTAuMjEgMC4xOGwtMC4wOC0wLjAzYy0wLjA2LTAuMzMtMC4xNy0wLjU4LTAuMzQtMC43NSAtMC4xNy0wLjE3LTAuNC0wLjI1LTAuNjktMC4yNSAtMC4zNyAwLTAuNzggMC4xOS0xLjIyIDAuNTYgLTAuNDQgMC4zNy0wLjY2IDAuNjItMC42NiAwLjc0IDAgMC4wOCAwLjA0IDAuMTEgMC4xMyAwLjExIDAuMDggMCAwLjItMC4wOSAwLjM3LTAuMjcgMC40NS0wLjQ4IDAuODEtMC43MiAxLjA5LTAuNzIgMC4xNCAwIDAuMjcgMC4wOCAwLjM4IDAuMjUgMC4xMSAwLjE3IDAuMTYgMC4zOSAwLjE2IDAuNjcgMCAwLjU4LTAuMjcgMS41My0wLjggMi44NSAtMC41NCAxLjMyLTEuMSAxLjk4LTEuNjggMS45OCAtMC4xMyAwLTAuMjMtMC4wNS0wLjMtMC4xNCAtMC4wOC0wLjA5LTAuMTItMC4xOC0wLjEyLTAuMjcgMC0wLjA1IDAuMDEtMC4xMiAwLjAzLTAuMjMgMC4wMS0wLjA3IDAuMDItMC4xMyAwLjAyLTAuMTggMC0wLjMtMC4xNC0wLjQ1LTAuNDItMC40NSAtMC4xOCAwLTAuMzMgMC4wNy0wLjQ2IDAuMiAtMC4xMyAwLjEzLTAuMiAwLjMtMC4yIDAuNTEgMCAwLjI2IDAuMTMgMC40OCAwLjQgMC42NiAwLjI3IDAuMTggMC41NiAwLjI2IDAuODYgMC4yNiAwLjQgMCAwLjg3LTAuMjMgMS40MS0wLjY4IDAuMjMtMC4xOSAwLjM5LTAuMzEgMC40Ny0wLjM2IDAuMDQgMC4wNSAwLjExIDAuMTcgMC4yMSAwLjM3IDAuMjYgMC40OCAwLjY2IDAuNzEgMS4yMSAwLjcxIDAuNTcgMCAxLjExLTAuMjIgMS42My0wLjY3Qy0yMTkuNDEgMjUzLjU5LTIxOS4xNSAyNTMuMjYtMjE5LjE1IDI1My4wNXpNLTIxNi4yIDI0Ny4yMmMtMC4xMy0wLjc1LTAuMzMtMS40MS0wLjU4LTIgLTAuMjUtMC41OS0wLjQxLTAuOS0wLjQ4LTAuOTQgLTAuMDctMC4wNC0wLjI0LTAuMDYtMC41MS0wLjA2IC0wLjA5IDAtMC4xMyAwLjAyLTAuMTMgMC4wNWwwLjAzIDAuMDVjMC4wNSAwLjA2IDAuMiAwLjM2IDAuNDYgMC45MSAwLjI2IDAuNTQgMC40NiAxLjE4IDAuNjEgMS45MSAwLjE1IDAuNzMgMC4yMiAxLjQ2IDAuMjIgMi4xNyAwIDEuMzYtMC4yNiAyLjcxLTAuNzggNC4wNSAtMC41MiAxLjM1LTEuMjIgMi40OS0yLjExIDMuNDMgLTAuODkgMC45NC0xLjUxIDEuNTMtMS44OSAxLjc3bC0wLjE0IDAuMTNjMCAwLjA0IDAuMDcgMC4wNiAwLjIxIDAuMDYgMC4zIDAgMC41LTAuMDIgMC41OS0wLjA1IDAuMS0wLjAzIDAuNDctMC4zNSAxLjExLTAuOTQgMC42NC0wLjU5IDEuMTktMS4yNCAxLjY1LTEuOTQgMC40Ni0wLjcgMC44My0xLjQgMS4xMi0yLjExIDAuMjgtMC43IDAuNDktMS40NCAwLjYyLTIuMjFDLTIxNi4wNiAyNTAuNzQtMjE2IDI0OS45OC0yMTYgMjQ5LjIxIC0yMTYgMjQ4LjYzLTIxNi4wNyAyNDcuOTctMjE2LjIgMjQ3LjIyelwiLz48cGF0aCBjbGFzcz1cInN0MVwiIGQ9XCJNLTIyOS42NiAyNDcuNjdjMC4wMi0wLjA4IDAuMDMtMC4xOCAwLjA0LTAuMyAwLjAyLTAuMTIgMC4wMy0wLjIxIDAuMDQtMC4yNyAtMC44OCAwLTEuMzYtMC4wMS0xLjQ0LTAuMDQgMC4zOS0xLjg3IDAuNzgtMy4xMSAxLjE3LTMuNzMgMC4zOS0wLjYyIDAuODMtMC45MyAxLjMxLTAuOTMgMC4xOCAwIDAuMzIgMC4wNCAwLjQgMC4xMSAwLjA5IDAuMDcgMC4xMyAwLjE4IDAuMTMgMC4zMyAwIDAuMS0wLjA0IDAuMjItMC4xMSAwLjM1IC0wLjEyIDAuMjEtMC4xNyAwLjM5LTAuMTcgMC41MyAwIDAuMiAwLjA2IDAuMzYgMC4xOCAwLjUgMC4xMiAwLjEzIDAuMjYgMC4yIDAuNDIgMC4yIDAuMiAwIDAuMzYtMC4wOSAwLjQ4LTAuMjcgMC4xMi0wLjE4IDAuMTgtMC4zOSAwLjE4LTAuNjIgMC0wLjQtMC4xMy0wLjc1LTAuMzktMS4wNkMtMjI3LjY5IDI0Mi4xNS0yMjguMDUgMjQyLTIyOC41MiAyNDJjLTAuNzkgMC0xLjQ5IDAuNDMtMi4xMSAxLjI4IC0wLjYxIDAuODUtMS4wOSAyLjE1LTEuNDMgMy45IC0wLjY4IDAuMDEtMS4yMSAwLjA0LTEuNjIgMC4wOGwtMC4xIDAuNTQgMS42LTAuMDVjLTAuMDggMC4zMy0wLjI2IDEuMTctMC41MyAyLjUyIC0wLjY4IDMuNDItMS4yNyA1Ljg5LTEuNzcgNy40MSAtMC41IDEuNTItMS4xIDIuMjgtMS43OSAyLjI4IC0wLjE5IDAtMC4zNC0wLjA2LTAuNDUtMC4xOXMtMC4xNy0wLjI2LTAuMTctMC40MWMwLTAuMSAwLjA0LTAuMjUgMC4xMS0wLjQ1IDAuMDYtMC4xNyAwLjA5LTAuMzEgMC4wOS0wLjQyIDAtMC4xOS0wLjA2LTAuMzYtMC4xOC0wLjUgLTAuMTItMC4xNC0wLjI3LTAuMjEtMC40NC0wLjIxIC0wLjIgMC0wLjM2IDAuMS0wLjUgMC4zIC0wLjE0IDAuMi0wLjIgMC40NC0wLjIgMC43MiAwIDAuNDMgMC4xNSAwLjggMC40NSAxLjExIDAuMyAwLjMxIDAuNjggMC40NyAxLjE0IDAuNDcgMC43NyAwIDEuNDUtMC40MSAyLjA2LTEuMjMgMC42MS0wLjgyIDEuMTEtMi4xIDEuNTEtMy44NWwxLjY4LTcuNTdDLTIzMC42NiAyNDcuNy0yMzAuMTYgMjQ3LjY4LTIyOS42NiAyNDcuNjdMLTIyOS42NiAyNDcuNjd6XCIvPjwvc3ZnPicpO1xuICB9XG5cbiAgLy8gUmVvcmRlclxuXG4gICYuaWNvbi1tb3ZlLWJhY2t3YXJkIHtcbiAgICB3aWR0aDogMjhweDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgLmVuY29kZWQtc3ZnLWJhY2tncm91bmQoJzxzdmcgdmVyc2lvbj1cIjEuMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB2aWV3Qm94PVwiMCAwIDI4IDI4XCIgZmlsbD1cIkB7dGhlbWVDb2xvcn1cIj48Zz48cmVjdCBvcGFjaXR5PVwiMC4zXCIgeD1cIjFcIiB5PVwiMVwiIHdpZHRoPVwiMTdcIiBoZWlnaHQ9XCIxN1wiLz48cGF0aCBkPVwiTTEwLDEwVjI3SDI3VjEwSDEwWk0yNiwyNkgxMVYxMUgyNlYyNlpcIi8+PC9nPjwvc3ZnPicpO1xuICB9XG4gICYuaWNvbi1tb3ZlLWZvcndhcmQge1xuICAgIHdpZHRoOiAyOHB4O1xuICAgIGhlaWdodDogMjhweDtcbiAgICAuZW5jb2RlZC1zdmctYmFja2dyb3VuZCgnPHN2ZyB2ZXJzaW9uPVwiMS4xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHZpZXdCb3g9XCIwIDAgMjggMjhcIiBmaWxsPVwiQHt0aGVtZUNvbG9yfVwiPjxnPjxwYXRoIG9wYWNpdHk9XCIwLjNcIiBkPVwiTTEwLDEwVjI3SDI3VjEwSDEwWk0yNiwyNkgxMVYxMUgyNlYyNlpcIi8+PHJlY3QgeD1cIjFcIiB5PVwiMVwiIHdpZHRoPVwiMTdcIiBoZWlnaHQ9XCIxN1wiLz48L2c+PC9zdmc+Jyk7XG4gIH1cbiAgJi5pY29uLW1vdmUtYmFja2dyb3VuZCB7XG4gICAgd2lkdGg6IDI4cHg7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIC5lbmNvZGVkLXN2Zy1iYWNrZ3JvdW5kKCc8c3ZnIHZlcnNpb249XCIxLjFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgdmlld0JveD1cIjAgMCAyOCAyOFwiIGZpbGw9XCJAe3RoZW1lQ29sb3J9XCI+PGc+PHJlY3Qgb3BhY2l0eT1cIjAuM1wiIHg9XCI4XCIgeT1cIjhcIiB3aWR0aD1cIjEzXCIgaGVpZ2h0PVwiMTNcIi8+PHBhdGggZD1cIk0xLDFWMTNIMTNWMUgxWk0xMiwxMkgyVjJIMTJWMTJaXCIvPjxwYXRoIGQ9XCJNMTUsMTVWMjdIMjdWMTVIMTVaTTI2LDI2SDE2VjE2SDI2VjI2WlwiLz48L2c+PC9zdmc+Jyk7XG4gIH1cbiAgJi5pY29uLW1vdmUtZm9yZWdyb3VuZCB7XG4gICAgd2lkdGg6IDI4cHg7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIC5lbmNvZGVkLXN2Zy1iYWNrZ3JvdW5kKCc8c3ZnIHZlcnNpb249XCIxLjFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgdmlld0JveD1cIjAgMCAyOCAyOFwiIGZpbGw9XCJAe3RoZW1lQ29sb3J9XCI+PGc+PHBhdGggb3BhY2l0eT1cIjAuM1wiIGQ9XCJNMSwxVjEzSDEzVjFIMVpNMTIsMTJIMlYySDEyVjEyWlwiLz48cGF0aCBvcGFjaXR5PVwiMC4zXCIgZD1cIk0xNSwxNVYyN0gyN1YxNUgxNVpNMjYsMjZIMTZWMTZIMjZWMjZaXCIvPjxyZWN0IHg9XCI4XCIgeT1cIjhcIiB3aWR0aD1cIjEzXCIgaGVpZ2h0PVwiMTNcIi8+PC9nPjwvc3ZnPicpO1xuICB9XG5cbiAgLy8gUHJlc2V0cyBvZiB0YWJsZSBib3JkZXJzXG5cbiAgJi5pY29uLXRhYmxlLWJvcmRlcnMtYWxsIHtcbiAgICB3aWR0aDogMjhweDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgLmVuY29kZWQtc3ZnLWJhY2tncm91bmQoJzxzdmcgdmVyc2lvbj1cIjEuMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB2aWV3Qm94PVwiMCAwIDI4IDI4XCIgZmlsbD1cIkB7dGhlbWVDb2xvcn1cIj48Zz48cGF0aCBkPVwiTTI2LjksMEgwVjI3SDI3VjBIMjYuOVpNMTMsMjZIMVYxNEgxM1YyNlptMC0xM0gxVjFIMTNWMTNaTTI2LDI2SDE0VjE0SDI2VjI2Wm0wLTEzSDE0VjFIMjZWMTNaXCIvPjwvZz48L3N2Zz4nKTtcbiAgfVxuICAmLmljb24tdGFibGUtYm9yZGVycy1ub25lIHtcbiAgICB3aWR0aDogMjhweDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgLmVuY29kZWQtc3ZnLWJhY2tncm91bmQoJzxzdmcgdmVyc2lvbj1cIjEuMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB2aWV3Qm94PVwiMCAwIDI4IDI4XCIgZmlsbD1cIkB7dGhlbWVDb2xvcn1cIj48Zz48cGF0aCBvcGFjaXR5PVwiMC4zXCIgZD1cIk0yNi45LDBIMFYyN0gyN1YwSDI2LjlaTTEzLDI2SDFWMTRIMTNWMjZabTAtMTNIMVYxSDEzVjEzWk0yNiwyNkgxNFYxNEgyNlYyNlptMC0xM0gxNFYxSDI2VjEzWlwiLz48L2c+PC9zdmc+Jyk7XG4gIH1cbiAgJi5pY29uLXRhYmxlLWJvcmRlcnMtaW5uZXIge1xuICAgIHdpZHRoOiAyOHB4O1xuICAgIGhlaWdodDogMjhweDtcbiAgICAuZW5jb2RlZC1zdmctYmFja2dyb3VuZCgnPHN2ZyB2ZXJzaW9uPVwiMS4xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHZpZXdCb3g9XCIwIDAgMjggMjhcIiBmaWxsPVwiQHt0aGVtZUNvbG9yfVwiPjxnPjxwb2x5Z29uIHBvaW50cz1cIjI2IDEzIDE0IDEzIDE0IDEgMTMgMSAxMyAxMyAxIDEzIDEgMTQgMTMgMTQgMTMgMjYgMTQgMjYgMTQgMTQgMjYgMTQgMjYgMTNcIi8+PHBhdGggb3BhY2l0eT1cIjAuM1wiIGQ9XCJNMjcsMEgwVjI3SDI3VjBaTTEsMjZWMUgyNlYyNkgxWlwiLz48L2c+PC9zdmc+Jyk7XG4gIH1cbiAgJi5pY29uLXRhYmxlLWJvcmRlcnMtb3V0ZXIge1xuICAgIHdpZHRoOiAyOHB4O1xuICAgIGhlaWdodDogMjhweDtcbiAgICAuZW5jb2RlZC1zdmctYmFja2dyb3VuZCgnPHN2ZyB2ZXJzaW9uPVwiMS4xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHZpZXdCb3g9XCIwIDAgMjggMjhcIiBmaWxsPVwiQHt0aGVtZUNvbG9yfVwiPjxnPjxwYXRoIGQ9XCJNMjcsMEgwVjI3SDI3VjBaTTEsMjZWMUgyNlYyNkgxWlwiLz48L2c+PC9zdmc+Jyk7XG4gIH1cbiAgJi5pY29uLXRhYmxlLWJvcmRlcnMtbGVmdCB7XG4gICAgd2lkdGg6IDI4cHg7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIC5lbmNvZGVkLXN2Zy1iYWNrZ3JvdW5kKCc8c3ZnIHZlcnNpb249XCIxLjFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgdmlld0JveD1cIjAgMCAyOCAyOFwiIGZpbGw9XCJAe3RoZW1lQ29sb3J9XCI+PGc+PHBhdGggb3BhY2l0eT1cIjAuM1wiIGQ9XCJNMjcsMEgwVjI3SDI3VjBaTTEsMjZWMUgyNlYyNkgxWlwiLz48cmVjdCB3aWR0aD1cIjFcIiBoZWlnaHQ9XCIyN1wiLz48L2c+PC9zdmc+Jyk7XG4gIH1cbiAgJi5pY29uLXRhYmxlLWJvcmRlcnMtY2VudGVyIHtcbiAgICB3aWR0aDogMjhweDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgLmVuY29kZWQtc3ZnLWJhY2tncm91bmQoJzxzdmcgdmVyc2lvbj1cIjEuMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB2aWV3Qm94PVwiMCAwIDI4IDI4XCIgZmlsbD1cIkB7dGhlbWVDb2xvcn1cIj48Zz48cGF0aCBvcGFjaXR5PVwiMC4zXCIgZD1cIk0yNywwSDBWMjdIMjdWMFpNMSwyNlYxSDI2VjI2SDFaXCIvPjxyZWN0IHg9XCIxM1wiIHdpZHRoPVwiMVwiIGhlaWdodD1cIjI3XCIvPjwvZz48L3N2Zz4nKTtcbiAgfVxuICAmLmljb24tdGFibGUtYm9yZGVycy1yaWdodCB7XG4gICAgd2lkdGg6IDI4cHg7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIC5lbmNvZGVkLXN2Zy1iYWNrZ3JvdW5kKCc8c3ZnIHZlcnNpb249XCIxLjFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgdmlld0JveD1cIjAgMCAyOCAyOFwiIGZpbGw9XCJAe3RoZW1lQ29sb3J9XCI+PGc+PHBhdGggb3BhY2l0eT1cIjAuM1wiIGQ9XCJNMjcsMEgwVjI3SDI3VjBaTTEsMjZWMUgyNlYyNkgxWlwiLz48cmVjdCB4PVwiMjZcIiB3aWR0aD1cIjFcIiBoZWlnaHQ9XCIyN1wiLz48L2c+PC9zdmc+Jyk7XG4gIH1cbiAgJi5pY29uLXRhYmxlLWJvcmRlcnMtdG9wIHtcbiAgICB3aWR0aDogMjhweDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgLmVuY29kZWQtc3ZnLWJhY2tncm91bmQoJzxzdmcgdmVyc2lvbj1cIjEuMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB2aWV3Qm94PVwiMCAwIDI4IDI4XCIgZmlsbD1cIkB7dGhlbWVDb2xvcn1cIj48Zz48cGF0aCBvcGFjaXR5PVwiMC4zXCIgZD1cIk0yNywwSDBWMjdIMjdWMFpNMSwyNlYxSDI2VjI2SDFaXCIvPjxyZWN0IHdpZHRoPVwiMjdcIiBoZWlnaHQ9XCIxXCIvPjwvZz48L3N2Zz4nKTtcbiAgfVxuICAmLmljb24tdGFibGUtYm9yZGVycy1taWRkbGUge1xuICAgIHdpZHRoOiAyOHB4O1xuICAgIGhlaWdodDogMjhweDtcbiAgICAuZW5jb2RlZC1zdmctYmFja2dyb3VuZCgnPHN2ZyB2ZXJzaW9uPVwiMS4xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHZpZXdCb3g9XCIwIDAgMjggMjhcIiBmaWxsPVwiQHt0aGVtZUNvbG9yfVwiPjxnPjxwYXRoIG9wYWNpdHk9XCIwLjNcIiBkPVwiTTI3LDBIMFYyN0gyN1YwWk0xLDI2VjFIMjZWMjZIMVpcIi8+PHJlY3QgeT1cIjEzXCIgd2lkdGg9XCIyN1wiIGhlaWdodD1cIjFcIi8+PC9nPjwvc3ZnPicpO1xuICB9XG4gICYuaWNvbi10YWJsZS1ib3JkZXJzLWJvdHRvbSB7XG4gICAgd2lkdGg6IDI4cHg7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIC5lbmNvZGVkLXN2Zy1iYWNrZ3JvdW5kKCc8c3ZnIHZlcnNpb249XCIxLjFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgdmlld0JveD1cIjAgMCAyOCAyOFwiIGZpbGw9XCJAe3RoZW1lQ29sb3J9XCI+PGc+PHBhdGggb3BhY2l0eT1cIjAuM1wiIGQ9XCJNMjcsMEgwVjI3SDI3VjBaTTEsMjZWMUgyNlYyNkgxWlwiLz48cmVjdCB5PVwiMjZcIiB3aWR0aD1cIjI3XCIgaGVpZ2h0PVwiMVwiLz48L2c+PC9zdmc+Jyk7XG4gIH1cbiAgJi5pY29uLXRhYmxlLWJvcmRlcnMtZHVwIHtcbiAgICB3aWR0aDogMjhweDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgLmVuY29kZWQtc3ZnLWJhY2tncm91bmQoJzxzdmcgdmVyc2lvbj1cIjEuMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB2aWV3Qm94PVwiMyAtMyAyOCAyOFwiIGZpbGw9XCJAe3RoZW1lQ29sb3J9XCI+PGc+PHBhdGggb3BhY2l0eT1cIjAuM1wiIGQ9XCJNMy0zdjF2MjV2MWgyN3YtMVYtMnYtMUgzeiBNNC0yaDI1djI1SDRWLTJ6XCIvPjxwb2x5Z29uIHBvaW50cz1cIjMwLC0zIDI5LC0zIDI5LC0zIDI5LC0zIDI5LC0zIDI5LC0zIDMsMjMgMywyNCA0LDI0IDMwLC0yIFwiLz48L2c+PC9zdmc+Jyk7XG4gIH1cbiAgJi5pY29uLXRhYmxlLWJvcmRlcnMtZGRvd24ge1xuICAgIHdpZHRoOiAyOHB4O1xuICAgIGhlaWdodDogMjhweDtcbiAgICAuZW5jb2RlZC1zdmctYmFja2dyb3VuZCgnPHN2ZyB2ZXJzaW9uPVwiMS4xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHZpZXdCb3g9XCIzIC0zIDI4IDI4XCIgZmlsbD1cIkB7dGhlbWVDb2xvcn1cIj48Zz48cGF0aCBvcGFjaXR5PVwiMC4zXCIgZD1cIk0zLTN2MXYyNXYxaDI3di0xVi0ydi0xSDN6IE00LTJoMjV2MjVINFYtMnpcIi8+PHBvbHlnb24gcG9pbnRzPVwiMzAsMjMgNCwtMyAzLC0zIDMsLTIgMjksMjQgMjksMjQgMjksMjQgMjksMjQgMjksMjQgMzAsMjQgXCIvPjwvZz48L3N2Zz4nKTtcbiAgfVxuXG4gIC8vIENlbGwgZm9ybWF0c1xuXG4gICYuaWNvbi1mb3JtYXQtZ2VuZXJhbCB7XG4gICAgd2lkdGg6IDIycHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIC5lbmNvZGVkLXN2Zy1iYWNrZ3JvdW5kKCc8c3ZnIHZlcnNpb249XCIxLjFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgdmlld0JveD1cIjAgMCAyMiAyMlwiIGZpbGw9XCJAe3RoZW1lQ29sb3J9XCI+PGc+PHBhdGggZD1cIk00Ljc3MDAxOTUsMi44NTk4NjMzTDcuNTYwMDU4NiwxMGgtMS4wNTAyOTNMNS43Mjk5ODA1LDcuODUwMDk3N0gyLjcwOTk2MDlMMS45MTAxNTYyLDEwSDAuOTM5OTQxNGwyLjc4MDI3MzQtNy4xNDAxMzY3SDQuNzcwMDE5NXogTTUuNDMwMTc1OCw3LjA0OTgwNDdMNC4yNDAyMzQ0LDMuNzIwMjE0OEg0LjIyMDIxNDhMMy4wMDk3NjU2LDcuMDQ5ODA0N0g1LjQzMDE3NTh6XCIvPjxwYXRoIGQ9XCJNMTAuODUwMDk3NywyLjg1OTg2MzNjMC4xNTMzMjAzLDAsMC4zMTgzNTk0LDAuMDAxOTUzMSwwLjQ5NTExNzIsMC4wMDUzNzExYzAuMTc2MjY5NSwwLjAwMzQxOCwwLjM1MTU2MjUsMC4wMTMxODM2LDAuNTI0OTAyMywwLjAyOTc4NTJzMC4zMzQ5NjA5LDAuMDQxNTAzOSwwLjQ4NDg2MzMsMC4wNzUxOTUzYzAuMTQ5OTAyMywwLjAzMzIwMzEsMC4yNzgzMjAzLDAuMDgzMDA3OCwwLjM4NDc2NTYsMC4xNDk5MDIzYzAuMjMzMzk4NCwwLjEzOTY0ODQsMC40MzE2NDA2LDAuMzMzNDk2MSwwLjU5NTIxNDgsMC41ODAwNzgxYzAuMTYzMDg1OSwwLjI0NjU4MiwwLjI0NTExNzIsMC41NDk4MDQ3LDAuMjQ1MTE3MiwwLjkwOTY2OGMwLDAuMzgwMzcxMS0wLjA5MTc5NjksMC43MDg0OTYxLTAuMjc0OTAyMywwLjk4NTM1MTZjLTAuMTgzNTkzOCwwLjI3NjM2NzItMC40NDUzMTI1LDAuNDgxNDQ1My0wLjc4NTE1NjIsMC42MTQ3NDYxdjAuMDIwMDE5NWMwLjQzOTk0MTQsMC4wOTMyNjE3LDAuNzc2MzY3MiwwLjI5MzQ1NywxLjAwOTc2NTYsMC42MDAwOTc3czAuMzUwMDk3NywwLjY3OTY4NzUsMC4zNTAwOTc3LDEuMTIwMTE3MmMwLDAuMjU5NzY1Ni0wLjA0NjM4NjcsMC41MTMxODM2LTAuMTQwMTM2NywwLjc1OTc2NTZjLTAuMDkzMjYxNywwLjI0NjU4Mi0wLjIzMTQ0NTMsMC40NjQ4NDM4LTAuNDE0NTUwOCwwLjY1NTI3MzRjLTAuMTgzNTkzOCwwLjE4OTk0MTQtMC40MTAxNTYyLDAuMzQzMjYxNy0wLjY4MDE3NTgsMC40NTk5NjA5UzEyLjA2MzQ3NjYsMTAsMTEuNzA5OTYwOSwxMEg4LjI1OTc2NTZWMi44NTk4NjMzSDEwLjg1MDA5Nzd6IE0xMS4xMDk4NjMzLDUuOTMwMTc1OGMwLjU0MDAzOTEsMCwwLjkyODIyMjctMC4wOTUyMTQ4LDEuMTY1MDM5MS0wLjI4NTE1NjJzMC4zNTQ5ODA1LTAuNDc1MDk3NywwLjM1NDk4MDUtMC44NTQ5ODA1YzAtMC4yNTM0MTgtMC4wNDAwMzkxLTAuNDUzMTI1LTAuMTIwMTE3Mi0wLjYwMDA5NzdjLTAuMDc5NTg5OC0wLjE0NjQ4NDQtMC4xODk5NDE0LTAuMjU5NzY1Ni0wLjMyOTU4OTgtMC4zMzk4NDM4Yy0wLjE0MDEzNjctMC4wODAwNzgxLTAuMzAxNzU3OC0wLjEzMTgzNTktMC40ODUzNTE2LTAuMTU1MjczNGMtMC4xODMxMDU1LTAuMDIyOTQ5Mi0wLjM3ODQxOC0wLjAzNDY2OC0wLjU4NDk2MDktMC4wMzQ2NjhIOS4yMDk5NjA5djIuMjcwMDE5NUgxMS4xMDk4NjMzeiBNMTEuNTg5ODQzOCw5LjIwMDE5NTNjMC40MTk5MjE5LDAsMC43NDg1MzUyLTAuMTEzMjgxMiwwLjk4NTM1MTYtMC4zNDAzMzJjMC4yMzYzMjgxLTAuMjI2NTYyNSwwLjM1NDk4MDUtMC41NDAwMzkxLDAuMzU0OTgwNS0wLjkzOTk0MTRjMC0wLjIzMzM5ODQtMC4wNDM0NTctMC40MjYyNjk1LTAuMTMwMzcxMS0wLjU4MDA3ODFjLTAuMDg2NDI1OC0wLjE1MzMyMDMtMC4yMDE2NjAyLTAuMjc0OTAyMy0wLjM0NDcyNjYtMC4zNjQ3NDYxYy0wLjE0MzU1NDctMC4wOTAzMzItMC4zMDg1OTM4LTAuMTUzMzIwMy0wLjQ5NTExNzItMC4xODk5NDE0cy0wLjM3OTg4MjgtMC4wNTUxNzU4LTAuNTgwMDc4MS0wLjA1NTE3NThIOS4yMDk5NjA5djIuNDcwMjE0OEgxMS41ODk4NDM4elwiLz48cGF0aCBkPVwiTTE5LjQyNTI5MywzLjg3MDExNzJjLTAuMzYzNzY5NS0wLjI1MzQxOC0wLjc5NTQxMDItMC4zNzk4ODI4LTEuMjk1NDEwMi0wLjM3OTg4MjhjLTAuNDI2NzU3OCwwLTAuNzkxNTAzOSwwLjA3OTU4OTgtMS4wOTQ3MjY2LDAuMjM5NzQ2MWMtMC4zMDM3MTA5LDAuMTYwMTU2Mi0wLjU1MzcxMDksMC4zNzUtMC43NSwwLjY0NTAxOTVjLTAuMTk2Nzc3MywwLjI3MDAxOTUtMC4zNDE3OTY5LDAuNTc4NjEzMy0wLjQzNTA1ODYsMC45MjQ4MDQ3Yy0wLjA5MzI2MTcsMC4zNDY2Nzk3LTAuMTQwMTM2NywwLjcwNzAzMTItMC4xNDAxMzY3LDEuMDgwMDc4MWMwLDAuNDA2NzM4MywwLjA0Njg3NSwwLjc5MTk5MjIsMC4xNDAxMzY3LDEuMTU1MjczNHMwLjIzODI4MTIsMC42Nzk2ODc1LDAuNDM1MDU4NiwwLjk0OTcwN2MwLjE5NjI4OTEsMC4yNzAwMTk1LDAuNDQ4MjQyMiwwLjQ4NTM1MTYsMC43NTQ4ODI4LDAuNjQ1MDE5NWMwLjMwNjY0MDYsMC4xNjAxNTYyLDAuNjczMzM5OCwwLjI0MDIzNDQsMS4xMDAwOTc3LDAuMjQwMjM0NGMwLjMxMjk4ODMsMCwwLjU5MTMwODYtMC4wNTE3NTc4LDAuODM0OTYwOS0wLjE1NTI3MzRjMC4yNDMxNjQxLTAuMTAzMDI3MywwLjQ1MzEyNS0wLjI0NjU4MiwwLjYyOTg4MjgtMC40Mjk2ODc1YzAuMTc2NzU3OC0wLjE4MzU5MzgsMC4zMTQ5NDE0LTAuNDAxODU1NSwwLjQxNTAzOTEtMC42NTUyNzM0YzAuMTAwMDk3Ny0wLjI1MjkyOTcsMC4xNjAxNTYyLTAuNTI2MzY3MiwwLjE4MDE3NTgtMC44MTk4MjQyaDAuOTQ5NzA3Yy0wLjA5MzI2MTcsMC44OTk5MDIzLTAuNDAzMzIwMywxLjYwMDA5NzctMC45Mjk2ODc1LDIuMTAwMDk3N2MtMC41MjY4NTU1LDAuNS0xLjI0NzA3MDMsMC43NS0yLjE2MDE1NjIsMC43NWMtMC41NTMyMjI3LDAtMS4wMzY2MjExLTAuMDk1MjE0OC0xLjQ1MDE5NTMtMC4yODUxNTYyYy0wLjQxMzA4NTktMC4xODk5NDE0LTAuNzU2MzQ3Ny0wLjQ1MTY2MDItMS4wMjk3ODUyLTAuNzg1MTU2MmMtMC4yNzM0Mzc1LTAuMzMzMDA3OC0wLjQ3ODUxNTYtMC43MjY1NjI1LTAuNjE1MjM0NC0xLjE3OTY4NzVjLTAuMTM2NzE4OC0wLjQ1MzYxMzMtMC4yMDQ1ODk4LTAuOTM5OTQxNC0wLjIwNDU4OTgtMS40NTk5NjA5czAuMDczMjQyMi0xLjAwODMwMDgsMC4yMTk3MjY2LTEuNDY1MzMyYzAuMTQ2NDg0NC0wLjQ1NjU0MywwLjM2MTgxNjQtMC44NTQ5ODA1LDAuNjQ1MDE5NS0xLjE5NDgyNDJzMC42MzY3MTg4LTAuNjA4Mzk4NCwxLjA2MDA1ODYtMC44MDUxNzU4YzAuNDIzMzM5OC0wLjE5NjI4OTEsMC45MDgyMDMxLTAuMjk0OTIxOSwxLjQ1NTA3ODEtMC4yOTQ5MjE5YzAuMzczMDQ2OSwwLDAuNzI2NTYyNSwwLjA1MDI5MywxLjA2MDA1ODYsMC4xNDk5MDIzYzAuMzMzMDA3OCwwLjEwMDA5NzcsMC42Mjk4ODI4LDAuMjQ3MDcwMywwLjg4OTY0ODQsMC40Mzk5NDE0YzAuMjYwMjUzOSwwLjE5Mzg0NzcsMC40NzY1NjI1LDAuNDM1MDU4NiwwLjY1MDM5MDYsMC43MjUwOTc3YzAuMTczMzM5OCwwLjI5MDAzOTEsMC4yODY2MjExLDAuNjI1LDAuMzM5ODQzOCwxLjAwNDg4MjhoLTAuOTUwMTk1M0MyMC4wMjM0Mzc1LDQuNTAzNDE4LDE5Ljc4ODU3NDIsNC4xMjM1MzUyLDE5LjQyNTI5MywzLjg3MDExNzJ6XCIvPjxwYXRoIGQ9XCJNMy43MDk5NjA5LDE5di01LjA4MDA3ODFIMS44NzAxMTcydi0wLjY3OTY4NzVjMC4yMzk3NDYxLDAsMC40NzMxNDQ1LTAuMDE4NTU0NywwLjY5OTcwNy0wLjA1NTE3NThzMC40MzE2NDA2LTAuMTA0OTgwNSwwLjYxNTIzNDQtMC4yMDUwNzgxYzAuMTgzMTA1NS0wLjEwMDA5NzcsMC4zMzgzNzg5LTAuMjM2MzI4MSwwLjQ2NDg0MzgtMC40MTAxNTYyYzAuMTI2NDY0OC0wLjE3MzMzOTgsMC4yMTMzNzg5LTAuMzkzMDY2NCwwLjI2MDI1MzktMC42NTk2NjhoMC42NDk5MDIzVjE5SDMuNzA5OTYwOXpcIi8+PHBhdGggZD1cIk04LjcwOTk2MDksMTMuNDE5OTIxOUM4LjgwMzIyMjcsMTMuMTEzMjgxMiw4Ljk0ODI0MjIsMTIuODQ4NjMyOCw5LjE0NTAxOTUsMTIuNjI1YzAuMTk2Nzc3My0wLjIyMzE0NDUsMC40NDE4OTQ1LTAuMzk4NDM3NSwwLjczNTM1MTYtMC41MjQ5MDIzYzAuMjkyOTY4OC0wLjEyNjQ2NDgsMC42MjY0NjQ4LTAuMTg5OTQxNCwxLTAuMTg5OTQxNGMwLjMwNjE1MjMsMCwwLjU5NDcyNjYsMC4wNDQ5MjE5LDAuODY0NzQ2MSwwLjEzNDc2NTZTMTIuMjUsMTIuMjY1MTM2NywxMi40NTAxOTUzLDEyLjQzNTA1ODZzMC4zNTgzOTg0LDAuMzgxODM1OSwwLjQ3NTA5NzcsMC42MzQ3NjU2YzAuMTE2MjEwOSwwLjI1MzQxOCwwLjE3NDgwNDcsMC41NDY4NzUsMC4xNzQ4MDQ3LDAuODgwMzcxMWMwLDAuMzEzNDc2Ni0wLjA0ODMzOTgsMC41ODk4NDM4LTAuMTQ1MDE5NSwwLjgyOTU4OThjLTAuMDk2Njc5NywwLjI0MDIzNDQtMC4yMjUwOTc3LDAuNDU1MDc4MS0wLjM4NDc2NTYsMC42NDUwMTk1Yy0wLjE2MDE1NjIsMC4xOTA0Mjk3LTAuMzQzNzUsMC4zNjE4MTY0LTAuNTUwMjkzLDAuNTE1MTM2N3MtMC40MTk5MjE5LDAuMzAwMjkzLTAuNjM5NjQ4NCwwLjQzOTk0MTRjLTAuMjIwMjE0OCwwLjEzMzc4OTEtMC40NDA0Mjk3LDAuMjY1MTM2Ny0wLjY2MDE1NjIsMC4zOTUwMTk1QzEwLjUsMTYuOTA0Nzg1MiwxMC4yOTgzMzk4LDE3LjA0MzQ1NywxMC4xMTUyMzQ0LDE3LjE4OTk0MTRjLTAuMTgzNTkzOCwwLjE0Njk3MjctMC4zMzk4NDM4LDAuMzA1MTc1OC0wLjQ3MDIxNDgsMC40NzUwOTc3QzkuNTE1MTM2NywxNy44MzQ5NjA5LDkuNDMwMTc1OCwxOC4wMjk3ODUyLDkuMzkwMTM2NywxOC4yNWgzLjY0MDEzNjdWMTlIOC40MDAzOTA2QzguNDMzNTkzOCwxOC41ODAwNzgxLDguNTA4MzAwOCwxOC4yMjE2Nzk3LDguNjI1LDE3LjkyNDgwNDdjMC4xMTY2OTkyLTAuMjk2Mzg2NywwLjI2NTEzNjctMC41NTQ2ODc1LDAuNDQ1MzEyNS0wLjc3NDkwMjNDOS4yNSwxNi45MzAxNzU4LDkuNDUzNjEzMywxNi43MzY4MTY0LDkuNjgwMTc1OCwxNi41Njk4MjQyYzAuMjI2NTYyNS0wLjE2NjUwMzksMC40NjMzNzg5LTAuMzIzMjQyMiwwLjcwOTk2MDktMC40Njk3MjY2YzAuMjk5ODA0Ny0wLjE4NjUyMzQsMC41NjM0NzY2LTAuMzU4Mzk4NCwwLjc5MDAzOTEtMC41MTUxMzY3czAuNDE1MDM5MS0wLjMxNDk0MTQsMC41NjQ5NDE0LTAuNDc1MDk3N2MwLjE0OTkwMjMtMC4xNTk2NjgsMC4yNjMxODM2LTAuMzMzMDA3OCwwLjMzOTg0MzgtMC41MjAwMTk1YzAuMDc2NjYwMi0wLjE4NjUyMzQsMC4xMTUyMzQ0LTAuNDAzMzIwMywwLjExNTIzNDQtMC42NDk5MDIzYzAtMC4xOTMzNTk0LTAuMDM2NjIxMS0wLjM2ODE2NDEtMC4xMDk4NjMzLTAuNTI0OTAyM2MtMC4wNzM3MzA1LTAuMTU2NzM4My0wLjE3MTg3NS0wLjI5MTUwMzktMC4yOTU0MTAyLTAuNDA1MjczNGMtMC4xMjMwNDY5LTAuMTEzMjgxMi0wLjI2ODA2NjQtMC4xOTk3MDctMC40MzQ1NzAzLTAuMjU5NzY1NmMtMC4xNjY5OTIyLTAuMDYwMDU4Ni0wLjM0Mzc1LTAuMDg5ODQzOC0wLjUzMDI3MzQtMC4wODk4NDM4Yy0wLjI0NjU4MiwwLTAuNDU4NDk2MSwwLjA1MTc1NzgtMC42MzQ3NjU2LDAuMTU0Nzg1MmMtMC4xNzY3NTc4LDAuMTAzNTE1Ni0wLjMyMTc3NzMsMC4yMzgyODEyLTAuNDM1MDU4NiwwLjQwNTI3MzRjLTAuMTEzNzY5NSwwLjE2NjUwMzktMC4xOTUzMTI1LDAuMzU0OTgwNS0wLjI0NTExNzIsMC41NjQ5NDE0cy0wLjA3MTc3NzMsMC40MjEzODY3LTAuMDY0OTQxNCwwLjYzNDc2NTZIOC42MDAwOTc3QzguNTgwMDc4MSwxNC4wNjAwNTg2LDguNjE2Njk5MiwxMy43MjY1NjI1LDguNzA5OTYwOSwxMy40MTk5MjE5elwiLz48cGF0aCBkPVwiTTE3LjU4OTg0MzgsMTQuOTU5OTYwOWMwLjAzMzIwMzEsMCwwLjA2NjQwNjIsMCwwLjEwMDA5NzcsMGgwLjE3OTY4NzVjMC4xODAxNzU4LDAsMC4zNTE1NjI1LTAuMDI0OTAyMywwLjUxNTEzNjctMC4wNzUxOTUzYzAuMTYzNTc0Mi0wLjA0OTgwNDcsMC4zMDY2NDA2LTAuMTIzMDQ2OSwwLjQzMDE3NTgtMC4yMTk3MjY2YzAuMTIzMDQ2OS0wLjA5NjY3OTcsMC4yMjE2Nzk3LTAuMjE4MjYxNywwLjI5NDkyMTktMC4zNjUyMzQ0YzAuMDczMjQyMi0wLjE0NjQ4NDQsMC4xMDk4NjMzLTAuMzEyOTg4MywwLjEwOTg2MzMtMC41YzAtMC4zNzk4ODI4LTAuMTIwMTE3Mi0wLjY2NTAzOTEtMC4zNTk4NjMzLTAuODU0OTgwNWMtMC4yNDAyMzQ0LTAuMTg5OTQxNC0wLjU0MDAzOTEtMC4yODQ2NjgtMC44OTk5MDIzLTAuMjg0NjY4Yy0wLjIyNzA1MDgsMC0wLjQyNTI5MywwLjA0MTUwMzktMC41OTUyMTQ4LDAuMTI1cy0wLjMxMDA1ODYsMC4xOTQ4MjQyLTAuNDE5OTIxOSwwLjMzNDk2MDljLTAuMTA5ODYzMywwLjEzOTY0ODQtMC4xOTE4OTQ1LDAuMzAzMjIyNy0wLjI0NTExNzIsMC40ODk3NDYxYy0wLjA1MzIyMjcsMC4xODcwMTE3LTAuMDgwMDc4MSwwLjM4Mzc4OTEtMC4wODAwNzgxLDAuNTkwMzMyaC0wLjg0OTYwOTRjMC4wMTMxODM2LTAuMzQwMzMyLDAuMDY3ODcxMS0wLjY1MDM5MDYsMC4xNjUwMzkxLTAuOTMwMTc1OEMxNi4wMzEyNSwxMi45OTAyMzQ0LDE2LjE2OTkyMTksMTIuNzUsMTYuMzQ5NjA5NCwxMi41NDk4MDQ3YzAuMTgwMTc1OC0wLjE5OTcwNywwLjQwNTI3MzQtMC4zNTY0NDUzLDAuNjc1MjkzLTAuNDY5NzI2NnMwLjU4MTU0My0wLjE2OTkyMTksMC45MzUwNTg2LTAuMTY5OTIxOWMwLjMwNjY0MDYsMCwwLjU5MTMwODYsMC4wMzgwODU5LDAuODU0OTgwNSwwLjExNDc0NjFDMTkuMDc4MTI1LDEyLjEwMTU2MjUsMTkuMzA2MTUyMywxMi4yMTY3OTY5LDE5LjUsMTIuMzcwMTE3MmMwLjE5Mjg3MTEsMC4xNTMzMjAzLDAuMzQ0NzI2NiwwLjM1MDA5NzcsMC40NTQ1ODk4LDAuNTg5ODQzOGMwLjExMDM1MTYsMC4yNDAyMzQ0LDAuMTY1MDM5MSwwLjUyMzQzNzUsMC4xNjUwMzkxLDAuODUwMDk3N2MwLDAuMzE5ODI0Mi0wLjA5MzI2MTcsMC42MDM1MTU2LTAuMjc5Nzg1MiwwLjg1MDA5NzdzLTAuNDE5OTIxOSwwLjQzMzEwNTUtMC43MDAxOTUzLDAuNTYwMDU4NnYwLjAyMDAxOTVjMC40MzM1OTM4LDAuMDkzMjYxNywwLjc1NTM3MTEsMC4yOTYzODY3LDAuOTY1MzMyLDAuNjA5ODYzM3MwLjMxNDk0MTQsMC42ODMxMDU1LDAuMzE0OTQxNCwxLjEwOTg2MzNjMCwwLjM1MzUxNTYtMC4wNjQ5NDE0LDAuNjY1MDM5MS0wLjE5NTMxMjUsMC45MzUwNTg2Yy0wLjEyOTg4MjgsMC4yNzAwMTk1LTAuMzA0Njg3NSwwLjQ5NTExNzItMC41MjQ5MDIzLDAuNjc0ODA0N2MtMC4yMTk3MjY2LDAuMTgwMTc1OC0wLjQ3ODUxNTYsMC4zMTQ5NDE0LTAuNzc0OTAyMywwLjQwNTI3MzRjLTAuMjk2ODc1LDAuMDg5ODQzOC0wLjYxMTgxNjQsMC4xMzQ3NjU2LTAuOTQ0ODI0MiwwLjEzNDc2NTZjLTAuMzYwMzUxNiwwLTAuNjg3MDExNy0wLjA0OTgwNDctMC45Nzk5ODA1LTAuMTQ5OTAyM2MtMC4yOTM0NTctMC4xMDAwOTc3LTAuNTQzNDU3LTAuMjQ4MDQ2OS0wLjc1LTAuNDQ0ODI0MmMtMC4yMDcwMzEyLTAuMTk2Nzc3My0wLjM2NTIzNDQtMC40Mzg0NzY2LTAuNDc1MDk3Ny0wLjcyNTA5NzdzLTAuMTYxNjIxMS0wLjYxMzI4MTItMC4xNTUyNzM0LTAuOTc5OTgwNWgwLjg1MDA5NzdjMC4wMTMxODM2LDAuNDU5OTYwOSwwLjE0NjQ4NDQsMC44MzQ5NjA5LDAuMzk5OTAyMywxLjEyNXMwLjYyMzUzNTIsMC40MzUwNTg2LDEuMTEwMzUxNiwwLjQzNTA1ODZjMC4yMDY1NDMsMCwwLjQwMzMyMDMtMC4wMzE3MzgzLDAuNTg5ODQzOC0wLjA5NTIxNDhjMC4xODY1MjM0LTAuMDYyOTg4MywwLjM1MDA5NzctMC4xNTMzMjAzLDAuNDkwMjM0NC0wLjI3MDAxOTVjMC4xMzk2NDg0LTAuMTE2MjEwOSwwLjI1MTQ2NDgtMC4yNTk3NjU2LDAuMzM0OTYwOS0wLjQyOTY4NzVjMC4wODMwMDc4LTAuMTcwNDEwMiwwLjEyNS0wLjM2MTgxNjQsMC4xMjUtMC41NzUxOTUzYzAtMC4yMjAyMTQ4LTAuMDQwMDM5MS0wLjQxNTAzOTEtMC4xMjAxMTcyLTAuNTg0OTYwOXMtMC4xODcwMTE3LTAuMzEzNDc2Ni0wLjMyMDMxMjUtMC40MzAxNzU4Yy0wLjEzMzMwMDgtMC4xMTYyMTA5LTAuMjkxNTAzOS0wLjIwMzEyNS0wLjQ3NDYwOTQtMC4yNTk3NjU2Yy0wLjE4MzU5MzgtMC4wNTY2NDA2LTAuMzgxODM1OS0wLjA4NDk2MDktMC41OTUyMTQ4LTAuMDg0OTYwOWMtMC4xODAxNzU4LDAtMC4zNTAwOTc3LDAuMDA5NzY1Ni0wLjUwOTc2NTYsMC4wMjk3ODUydi0wLjcxOTcyNjZDMTcuNTMzMjAzMSwxNC45NTY1NDMsMTcuNTYyOTg4MywxNC45NTk5NjA5LDE3LjU4OTg0MzgsMTQuOTU5OTYwOXpcIi8+PC9nPjwvc3ZnPicpO1xuICB9XG4gICYuaWNvbi1mb3JtYXQtbnVtYmVyIHtcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAgLmVuY29kZWQtc3ZnLWJhY2tncm91bmQoJzxzdmcgdmVyc2lvbj1cIjEuMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB2aWV3Qm94PVwiMCAwIDIyIDIyXCIgZmlsbD1cIkB7dGhlbWVDb2xvcn1cIj48Zz48cGF0aCBkPVwiTTMuNzA5OTYwOSwxMy44MzMwMDc4VjguNzUyOTI5N0gxLjg3MDExNzJWOC4wNzMyNDIyYzAuMjM5NzQ2MSwwLDAuNDczMTQ0NS0wLjAxODU1NDcsMC42OTk3MDctMC4wNTUxNzU4czAuNDMxNjQwNi0wLjEwNDk4MDUsMC42MTUyMzQ0LTAuMjA1MDc4MUMzLjM2ODE2NDEsNy43MTI4OTA2LDMuNTIzNDM3NSw3LjU3NjY2MDIsMy42NDk5MDIzLDcuNDAyODMyYzAuMTI2NDY0OC0wLjE3MzMzOTgsMC4yMTMzNzg5LTAuMzkzMDY2NCwwLjI2MDI1MzktMC42NTk2NjhoMC42NDk5MDIzdjcuMDg5ODQzOEgzLjcwOTk2MDl6XCIvPjxwYXRoIGQ9XCJNOC41LDEyLjcyMzE0NDV2MS4wMDk3NjU2YzAsMC4zNzk4ODI4LTAuMDg2NDI1OCwwLjcwNjU0My0wLjI1OTc2NTYsMC45Nzk5ODA1Yy0wLjE3MzgyODEsMC4yNzM0Mzc1LTAuNDUzNjEzMywwLjQ2Njc5NjktMC44NDAzMzIsMC41ODAwNzgxdi0wLjVjMC4xMTMyODEyLTAuMDQwMDM5MSwwLjIwODQ5NjEtMC4wOTg2MzI4LDAuMjg1MTU2Mi0wLjE3NDgwNDdjMC4wNzY2NjAyLTAuMDc2NjYwMiwwLjEzODE4MzYtMC4xNjAxNTYyLDAuMTg1MDU4Ni0wLjI1YzAuMDQ2Mzg2Ny0wLjA5MDMzMiwwLjA3ODEyNS0wLjE4MTY0MDYsMC4wOTQ3MjY2LTAuMjc1MzkwNmMwLjAxNjYwMTYtMC4wOTMyNjE3LDAuMDIxOTcyNy0wLjE3OTY4NzUsMC4wMTUxMzY3LTAuMjU5NzY1Nkg3LjM5MDEzNjd2LTEuMTA5ODYzM0g4LjV6XCIvPjxwYXRoIGQ9XCJNOS43Nzk3ODUyLDkuNTQyOTY4OGMwLjAxMzE4MzYtMC4yNzk3ODUyLDAuMDQ2Mzg2Ny0wLjU1MzIyMjcsMC4xMDAwOTc3LTAuODE5ODI0MmMwLjA1MzIyMjctMC4yNjY2MDE2LDAuMTI5ODgyOC0wLjUyMDAxOTUsMC4yMjk5ODA1LTAuNzYwMjUzOWMwLjEwMDA5NzctMC4yMzk3NDYxLDAuMjM2MzI4MS0wLjQ0OTcwNywwLjQxMDE1NjItMC42Mjk4ODI4YzAuMTczMzM5OC0wLjE4MDE3NTgsMC4zOTE2MDE2LTAuMzIzMjQyMiwwLjY1NDc4NTItMC40MzAxNzU4YzAuMjYzMTgzNi0wLjEwNjQ0NTMsMC41NzgxMjUtMC4xNTk2NjgsMC45NDQ4MjQyLTAuMTU5NjY4czAuNjgxNjQwNiwwLjA1MzIyMjcsMC45NDUzMTI1LDAuMTU5NjY4YzAuMjYzMTgzNiwwLjEwNjkzMzYsMC40ODE0NDUzLDAuMjUsMC42NTQ3ODUyLDAuNDMwMTc1OHMwLjMxMDA1ODYsMC4zOTAxMzY3LDAuNDEwMTU2MiwwLjYyOTg4MjhjMC4xMDAwOTc3LDAuMjQwMjM0NCwwLjE3Njc1NzgsMC40OTM2NTIzLDAuMjI5OTgwNSwwLjc2MDI1MzlzMC4wODY0MjU4LDAuNTQwMDM5MSwwLjEwMDA5NzcsMC44MTk4MjQyYzAuMDEzMTgzNiwwLjI4MDI3MzQsMC4wMjAwMTk1LDAuNTQ5ODA0NywwLjAyMDAxOTUsMC44MTAwNTg2YzAsMC4yNTk3NjU2LTAuMDA2ODM1OSwwLjUyOTc4NTItMC4wMjAwMTk1LDAuODEwMDU4NmMtMC4wMTM2NzE5LDAuMjc5Nzg1Mi0wLjA0Njg3NSwwLjU1MzIyMjctMC4xMDAwOTc3LDAuODE5ODI0MnMtMC4xMjk4ODI4LDAuNTE4NTU0Ny0wLjIyOTk4MDUsMC43NTQ4ODI4Yy0wLjEwMDA5NzcsMC4yMzY4MTY0LTAuMjM2ODE2NCwwLjQ0NTMxMjUtMC40MTAxNTYyLDAuNjI1Yy0wLjE3MzMzOTgsMC4xODAxNzU4LTAuMzg5NjQ4NCwwLjMyMTc3NzMtMC42NDk5MDIzLDAuNDI1MjkzYy0wLjI1OTc2NTYsMC4xMDMwMjczLTAuNTc2NjYwMiwwLjE1NDc4NTItMC45NTAxOTUzLDAuMTU0Nzg1MmMtMC4zNjY2OTkyLDAtMC42ODE2NDA2LTAuMDUxNzU3OC0wLjk0NDgyNDItMC4xNTQ3ODUyYy0wLjI2MzE4MzYtMC4xMDM1MTU2LTAuNDgxNDQ1My0wLjI0NTExNzItMC42NTQ3ODUyLTAuNDI1MjkzYy0wLjE3MzgyODEtMC4xNzk2ODc1LTAuMzEwMDU4Ni0wLjM4ODE4MzYtMC40MTAxNTYyLTAuNjI1Yy0wLjEwMDA5NzctMC4yMzYzMjgxLTAuMTc2NzU3OC0wLjQ4ODI4MTItMC4yMjk5ODA1LTAuNzU0ODgyOGMtMC4wNTM3MTA5LTAuMjY2NjAxNi0wLjA4NjkxNDEtMC41NDAwMzkxLTAuMTAwMDk3Ny0wLjgxOTgyNDJjLTAuMDEzMTgzNi0wLjI4MDI3MzQtMC4wMjAwMTk1LTAuNTUwMjkzLTAuMDIwMDE5NS0wLjgxMDA1ODZDOS43NTk3NjU2LDEwLjA5Mjc3MzQsOS43NjY2MDE2LDkuODIzMjQyMiw5Ljc3OTc4NTIsOS41NDI5Njg4eiBNMTAuNjg1MDU4NiwxMS4yMzc3OTNjMC4wMTYxMTMzLDAuMzMwMDc4MSwwLjA2OTgyNDIsMC42NDAxMzY3LDAuMTU5NjY4LDAuOTMwMTc1OGMwLjA5MDMzMiwwLjI5MDAzOTEsMC4yMzUzNTE2LDAuNTM1MTU2MiwwLjQzNTA1ODYsMC43MzQ4NjMzYzAuMjAwMTk1MywwLjIwMDE5NTMsMC40Nzk5ODA1LDAuMzAwMjkzLDAuODM5ODQzOCwwLjMwMDI5M2MwLjM2MDM1MTYsMCwwLjY0MDEzNjctMC4xMDAwOTc3LDAuODQwMzMyLTAuMzAwMjkzYzAuMTk5NzA3LTAuMTk5NzA3LDAuMzQ0NzI2Ni0wLjQ0NDgyNDIsMC40MzUwNTg2LTAuNzM0ODYzM2MwLjA4OTg0MzgtMC4yOTAwMzkxLDAuMTQzMDY2NC0wLjYwMDA5NzcsMC4xNTk2NjgtMC45MzAxNzU4YzAuMDE2NjAxNi0wLjMyOTU4OTgsMC4wMjUzOTA2LTAuNjI3OTI5NywwLjAyNTM5MDYtMC44OTUwMTk1YzAtMC4xNzI4NTE2LTAuMDAxOTUzMS0wLjM2NDc0NjEtMC4wMDUzNzExLTAuNTc0NzA3cy0wLjAyMDAxOTUtMC40MTk5MjE5LTAuMDQ5ODA0Ny0wLjYyOTg4MjhjLTAuMDMwMjczNC0wLjIwOTk2MDktMC4wNzM3MzA1LTAuNDE1MDM5MS0wLjEyOTg4MjgtMC42MTUyMzQ0Yy0wLjA1NzEyODktMC4xOTk3MDctMC4xNDAxMzY3LTAuMzc1LTAuMjUtMC41MjQ5MDIzYy0wLjExMDM1MTYtMC4xNDk5MDIzLTAuMjQ4NTM1Mi0wLjI3MTQ4NDQtMC40MTUwMzkxLTAuMzY1MjM0NGMtMC4xNjY5OTIyLTAuMDkzMjYxNy0wLjM3MDExNzItMC4xMzk2NDg0LTAuNjEwMzUxNi0wLjEzOTY0ODRjLTAuMjM5NzQ2MSwwLTAuNDQzMzU5NCwwLjA0NjM4NjctMC42MDk4NjMzLDAuMTM5NjQ4NGMtMC4xNjY1MDM5LDAuMDkzNzUtMC4zMDQ2ODc1LDAuMjE1MzMyLTAuNDE1MDM5MSwwLjM2NTIzNDRjLTAuMTA5ODYzMywwLjE0OTkwMjMtMC4xOTMzNTk0LDAuMzI1MTk1My0wLjI1LDAuNTI0OTAyM2MtMC4wNTY2NDA2LDAuMjAwMTk1My0wLjEwMDA5NzcsMC40MDUyNzM0LTAuMTI5ODgyOCwwLjYxNTIzNDRzLTAuMDQ2ODc1LDAuNDE5OTIxOS0wLjA0OTgwNDcsMC42Mjk4ODI4Yy0wLjAwMzQxOCwwLjIwOTk2MDktMC4wMDUzNzExLDAuNDAxODU1NS0wLjAwNTM3MTEsMC41NzQ3MDdDMTAuNjU5NjY4LDEwLjYwOTg2MzMsMTAuNjY3OTY4OCwxMC45MDgyMDMxLDEwLjY4NTA1ODYsMTEuMjM3NzkzelwiLz48cGF0aCBkPVwiTTE1LjMzOTg0MzgsOS41NDI5Njg4YzAuMDEzMTgzNi0wLjI3OTc4NTIsMC4wNDYzODY3LTAuNTUzMjIyNywwLjEwMDA5NzctMC44MTk4MjQyYzAuMDUzMjIyNy0wLjI2NjYwMTYsMC4xMjk4ODI4LTAuNTIwMDE5NSwwLjIyOTk4MDUtMC43NjAyNTM5YzAuMTAwMDk3Ny0wLjIzOTc0NjEsMC4yMzYzMjgxLTAuNDQ5NzA3LDAuNDEwMTU2Mi0wLjYyOTg4MjhjMC4xNzMzMzk4LTAuMTgwMTc1OCwwLjM5MTYwMTYtMC4zMjMyNDIyLDAuNjU0Nzg1Mi0wLjQzMDE3NThjMC4yNjMxODM2LTAuMTA2NDQ1MywwLjU3ODEyNS0wLjE1OTY2OCwwLjk0NDgyNDItMC4xNTk2NjhTMTguMzYxMzI4MSw2Ljc5NjM4NjcsMTguNjI1LDYuOTAyODMyYzAuMjYzMTgzNiwwLjEwNjkzMzYsMC40ODE0NDUzLDAuMjUsMC42NTQ3ODUyLDAuNDMwMTc1OHMwLjMxMDA1ODYsMC4zOTAxMzY3LDAuNDEwMTU2MiwwLjYyOTg4MjhjMC4xMDAwOTc3LDAuMjQwMjM0NCwwLjE3Njc1NzgsMC40OTM2NTIzLDAuMjI5OTgwNSwwLjc2MDI1MzlzMC4wODY0MjU4LDAuNTQwMDM5MSwwLjEwMDA5NzcsMC44MTk4MjQyYzAuMDEzMTgzNiwwLjI4MDI3MzQsMC4wMjAwMTk1LDAuNTQ5ODA0NywwLjAyMDAxOTUsMC44MTAwNTg2YzAsMC4yNTk3NjU2LTAuMDA2ODM1OSwwLjUyOTc4NTItMC4wMjAwMTk1LDAuODEwMDU4NmMtMC4wMTM2NzE5LDAuMjc5Nzg1Mi0wLjA0Njg3NSwwLjU1MzIyMjctMC4xMDAwOTc3LDAuODE5ODI0MnMtMC4xMjk4ODI4LDAuNTE4NTU0Ny0wLjIyOTk4MDUsMC43NTQ4ODI4Yy0wLjEwMDA5NzcsMC4yMzY4MTY0LTAuMjM2ODE2NCwwLjQ0NTMxMjUtMC40MTAxNTYyLDAuNjI1Yy0wLjE3MzMzOTgsMC4xODAxNzU4LTAuMzg5NjQ4NCwwLjMyMTc3NzMtMC42NDk5MDIzLDAuNDI1MjkzYy0wLjI1OTc2NTYsMC4xMDMwMjczLTAuNTc2NjYwMiwwLjE1NDc4NTItMC45NTAxOTUzLDAuMTU0Nzg1MmMtMC4zNjY2OTkyLDAtMC42ODE2NDA2LTAuMDUxNzU3OC0wLjk0NDgyNDItMC4xNTQ3ODUyYy0wLjI2MzE4MzYtMC4xMDM1MTU2LTAuNDgxNDQ1My0wLjI0NTExNzItMC42NTQ3ODUyLTAuNDI1MjkzYy0wLjE3MzgyODEtMC4xNzk2ODc1LTAuMzEwMDU4Ni0wLjM4ODE4MzYtMC40MTAxNTYyLTAuNjI1Yy0wLjEwMDA5NzctMC4yMzYzMjgxLTAuMTc2NzU3OC0wLjQ4ODI4MTItMC4yMjk5ODA1LTAuNzU0ODgyOGMtMC4wNTM3MTA5LTAuMjY2NjAxNi0wLjA4NjkxNDEtMC41NDAwMzkxLTAuMTAwMDk3Ny0wLjgxOTgyNDJjLTAuMDEzMTgzNi0wLjI4MDI3MzQtMC4wMjAwMTk1LTAuNTUwMjkzLTAuMDIwMDE5NS0wLjgxMDA1ODZDMTUuMzE5ODI0MiwxMC4wOTI3NzM0LDE1LjMyNjY2MDIsOS44MjMyNDIyLDE1LjMzOTg0MzgsOS41NDI5Njg4eiBNMTYuMjQ1MTE3MiwxMS4yMzc3OTNjMC4wMTYxMTMzLDAuMzMwMDc4MSwwLjA2OTgyNDIsMC42NDAxMzY3LDAuMTU5NjY4LDAuOTMwMTc1OGMwLjA5MDMzMiwwLjI5MDAzOTEsMC4yMzUzNTE2LDAuNTM1MTU2MiwwLjQzNTA1ODYsMC43MzQ4NjMzYzAuMjAwMTk1MywwLjIwMDE5NTMsMC40Nzk5ODA1LDAuMzAwMjkzLDAuODM5ODQzOCwwLjMwMDI5M2MwLjM2MDM1MTYsMCwwLjY0MDEzNjctMC4xMDAwOTc3LDAuODQwMzMyLTAuMzAwMjkzYzAuMTk5NzA3LTAuMTk5NzA3LDAuMzQ0NzI2Ni0wLjQ0NDgyNDIsMC40MzUwNTg2LTAuNzM0ODYzM2MwLjA4OTg0MzgtMC4yOTAwMzkxLDAuMTQzMDY2NC0wLjYwMDA5NzcsMC4xNTk2NjgtMC45MzAxNzU4YzAuMDE2NjAxNi0wLjMyOTU4OTgsMC4wMjUzOTA2LTAuNjI3OTI5NywwLjAyNTM5MDYtMC44OTUwMTk1YzAtMC4xNzI4NTE2LTAuMDAxOTUzMS0wLjM2NDc0NjEtMC4wMDUzNzExLTAuNTc0NzA3cy0wLjAyMDAxOTUtMC40MTk5MjE5LTAuMDQ5ODA0Ny0wLjYyOTg4MjhjLTAuMDMwMjczNC0wLjIwOTk2MDktMC4wNzM3MzA1LTAuNDE1MDM5MS0wLjEyOTg4MjgtMC42MTUyMzQ0Yy0wLjA1NzEyODktMC4xOTk3MDctMC4xNDAxMzY3LTAuMzc1LTAuMjUtMC41MjQ5MDIzYy0wLjExMDM1MTYtMC4xNDk5MDIzLTAuMjQ4NTM1Mi0wLjI3MTQ4NDQtMC40MTUwMzkxLTAuMzY1MjM0NGMtMC4xNjY5OTIyLTAuMDkzMjYxNy0wLjM3MDExNzItMC4xMzk2NDg0LTAuNjEwMzUxNi0wLjEzOTY0ODRjLTAuMjM5NzQ2MSwwLTAuNDQzMzU5NCwwLjA0NjM4NjctMC42MDk4NjMzLDAuMTM5NjQ4NGMtMC4xNjY1MDM5LDAuMDkzNzUtMC4zMDQ2ODc1LDAuMjE1MzMyLTAuNDE1MDM5MSwwLjM2NTIzNDRjLTAuMTA5ODYzMywwLjE0OTkwMjMtMC4xOTMzNTk0LDAuMzI1MTk1My0wLjI1LDAuNTI0OTAyM2MtMC4wNTY2NDA2LDAuMjAwMTk1My0wLjEwMDA5NzcsMC40MDUyNzM0LTAuMTI5ODgyOCwwLjYxNTIzNDRzLTAuMDQ2ODc1LDAuNDE5OTIxOS0wLjA0OTgwNDcsMC42Mjk4ODI4Yy0wLjAwMzQxOCwwLjIwOTk2MDktMC4wMDUzNzExLDAuNDAxODU1NS0wLjAwNTM3MTEsMC41NzQ3MDdDMTYuMjE5NzI2NiwxMC42MDk4NjMzLDE2LjIyODAyNzMsMTAuOTA4MjAzMSwxNi4yNDUxMTcyLDExLjIzNzc5M3pcIi8+PC9nPjwvc3ZnPicpO1xuICB9XG4gICYuaWNvbi1mb3JtYXQtaW50ZWdlciB7XG4gICAgd2lkdGg6IDIycHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIC5lbmNvZGVkLXN2Zy1iYWNrZ3JvdW5kKCc8c3ZnIHZlcnNpb249XCIxLjFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgdmlld0JveD1cIjAgMCAyMiAyMlwiIGZpbGw9XCJAe3RoZW1lQ29sb3J9XCI+PGc+PHBhdGggZD1cIk00LjcwODk4NDQsMTQuODMzMDA3OFY5Ljc1MjkyOTdIMi44NjkxNDA2VjkuMDczMjQyMmMwLjI0MDIzNDQsMCwwLjQ3MzYzMjgtMC4wMTg1NTQ3LDAuNzAwMTk1My0wLjA1NTE3NThzMC40MzE2NDA2LTAuMTA0OTgwNSwwLjYxNTIzNDQtMC4yMDUwNzgxQzQuMzY3MTg3NSw4LjcxMjg5MDYsNC41MjM0Mzc1LDguNTc2NjYwMiw0LjY0OTQxNDEsOC40MDI4MzJjMC4xMjU5NzY2LTAuMTczMzM5OCwwLjIxMzg2NzItMC4zOTMwNjY0LDAuMjYwNzQyMi0wLjY1OTY2OGgwLjY0OTQxNDF2Ny4wODk4NDM4SDQuNzA4OTg0NHpcIi8+PHBhdGggZD1cIk04LjEwOTM3NSw5LjI1MjkyOTdjMC4wOTM3NS0wLjMwNjY0MDYsMC4yMzgyODEyLTAuNTcxMjg5MSwwLjQzNTU0NjktMC43OTQ5MjE5YzAuMTk2Mjg5MS0wLjIyMzE0NDUsMC40NDE0MDYyLTAuMzk4NDM3NSwwLjczNDM3NS0wLjUyNDkwMjNzMC42MjY5NTMxLTAuMTg5OTQxNCwxLTAuMTg5OTQxNGMwLjMwNjY0MDYsMCwwLjU5NTcwMzEsMC4wNDQ5MjE5LDAuODY1MjM0NCwwLjEzNDc2NTZzMC41MDQ4ODI4LDAuMjIwMjE0OCwwLjcwNTA3ODEsMC4zOTAxMzY3czAuMzU4Mzk4NCwwLjM4MTgzNTksMC40NzQ2MDk0LDAuNjM0NzY1NkMxMi40NDE0MDYyLDkuMTU2MjUsMTIuNSw5LjQ0OTcwNywxMi41LDkuNzgzMjAzMWMwLDAuMzEzNDc2Ni0wLjA0ODgyODEsMC41ODk4NDM4LTAuMTQ1NTA3OCwwLjgyOTU4OThjLTAuMDk2Njc5NywwLjI0MDIzNDQtMC4yMjU1ODU5LDAuNDU1MDc4MS0wLjM4NDc2NTYsMC42NDUwMTk1Yy0wLjE2MDE1NjIsMC4xOTA0Mjk3LTAuMzQzNzUsMC4zNjE4MTY0LTAuNTQ5ODA0NywwLjUxNTEzNjdDMTEuMjEyODkwNiwxMS45MjYyNjk1LDExLDEyLjA3MzI0MjIsMTAuNzc5Mjk2OSwxMi4yMTI4OTA2Yy0wLjIxOTcyNjYsMC4xMzM3ODkxLTAuNDM5NDUzMSwwLjI2NTEzNjctMC42NjAxNTYyLDAuMzk1MDE5NWMtMC4yMTk3MjY2LDAuMTI5ODgyOC0wLjQyMTg3NSwwLjI2ODU1NDctMC42MDQ0OTIyLDAuNDE1MDM5MWMtMC4xODM1OTM4LDAuMTQ2OTcyNy0wLjMzOTg0MzgsMC4zMDUxNzU4LTAuNDY5NzI2NiwwLjQ3NTA5NzdjLTAuMTMwODU5NCwwLjE2OTkyMTktMC4yMTQ4NDM4LDAuMzY0NzQ2MS0wLjI1NTg1OTQsMC41ODQ5NjA5aDMuNjQwNjI1djAuNzVINy43OTk4MDQ3YzAuMDMzMjAzMS0wLjQxOTkyMTksMC4xMDgzOTg0LTAuNzc4MzIwMywwLjIyNDYwOTQtMS4wNzUxOTUzYzAuMTE2MjEwOS0wLjI5NjM4NjcsMC4yNjQ2NDg0LTAuNTU0Njg3NSwwLjQ0NTMxMjUtMC43NzQ5MDIzYzAuMTc5Njg3NS0wLjIxOTcyNjYsMC4zODM3ODkxLTAuNDEzMDg1OSwwLjYxMDM1MTYtMC41ODAwNzgxYzAuMjI2NTYyNS0wLjE2NjUwMzksMC40NjI4OTA2LTAuMzIzMjQyMiwwLjcwODk4NDQtMC40Njk3MjY2YzAuMzAwNzgxMi0wLjE4NjUyMzQsMC41NjQ0NTMxLTAuMzU4Mzk4NCwwLjc5MTAxNTYtMC41MTUxMzY3czAuNDE0MDYyNS0wLjMxNDk0MTQsMC41NjQ0NTMxLTAuNDc1MDk3N2MwLjE1MDM5MDYtMC4xNTk2NjgsMC4yNjM2NzE5LTAuMzMzMDA3OCwwLjMzOTg0MzgtMC41MjAwMTk1YzAuMDc2MTcxOS0wLjE4NjUyMzQsMC4xMTUyMzQ0LTAuNDAzMzIwMywwLjExNTIzNDQtMC42NDk5MDIzYzAtMC4xOTMzNTk0LTAuMDM3MTA5NC0wLjM2ODE2NDEtMC4xMDkzNzUtMC41MjQ5MDIzYy0wLjA3NDIxODgtMC4xNTY3MzgzLTAuMTcxODc1LTAuMjkxNTAzOS0wLjI5NTg5ODQtMC40MDUyNzM0Yy0wLjEyMzA0NjktMC4xMTMyODEyLTAuMjY4NTU0Ny0wLjE5OTcwNy0wLjQzNDU3MDMtMC4yNTk3NjU2Yy0wLjE2Njk5MjItMC4wNjAwNTg2LTAuMzQzNzUtMC4wODk4NDM4LTAuNTMwMjczNC0wLjA4OTg0MzhjLTAuMjQ3MDcwMywwLTAuNDU4MDA3OCwwLjA1MTc1NzgtMC42MzQ3NjU2LDAuMTU0Nzg1MkM5LjQxNzk2ODgsOC43NTE0NjQ4LDkuMjczNDM3NSw4Ljg4NjIzMDUsOS4xNjAxNTYyLDkuMDUzMjIyN0M5LjA0NTg5ODQsOS4yMTk3MjY2LDguOTY0ODQzOCw5LjQwODIwMzEsOC45MTQwNjI1LDkuNjE4MTY0MWMtMC4wNDg4MjgxLDAuMjA5OTYwOS0wLjA3MTI4OTEsMC40MjEzODY3LTAuMDY0NDUzMSwwLjYzNDc2NTZIOEM3Ljk3OTQ5MjIsOS44OTMwNjY0LDguMDE1NjI1LDkuNTU5NTcwMyw4LjEwOTM3NSw5LjI1MjkyOTd6XCIvPjxwYXRoIGQ9XCJNMTUuMzg5NjQ4NCwxMC43OTI5Njg4YzAuMDMzMjAzMSwwLDAuMDY2NDA2MiwwLDAuMTAwNTg1OSwwaDAuMTc5Njg3NWMwLjE3OTY4NzUsMCwwLjM1MTU2MjUtMC4wMjQ5MDIzLDAuNTE0NjQ4NC0wLjA3NTE5NTNjMC4xNjMwODU5LTAuMDQ5ODA0NywwLjMwNjY0MDYtMC4xMjMwNDY5LDAuNDMwNjY0MS0wLjIxOTcyNjZjMC4xMjMwNDY5LTAuMDk2Njc5NywwLjIyMDcwMzEtMC4yMTgyNjE3LDAuMjk0OTIxOS0wLjM2NTIzNDRjMC4wNzIyNjU2LTAuMTQ2NDg0NCwwLjEwOTM3NS0wLjMxMjk4ODMsMC4xMDkzNzUtMC41YzAtMC4zNzk4ODI4LTAuMTIwMTE3Mi0wLjY2NTAzOTEtMC4zNTkzNzUtMC44NTQ5ODA1Yy0wLjI0MDIzNDQtMC4xODk5NDE0LTAuNTQxMDE1Ni0wLjI4NDY2OC0wLjkwMDM5MDYtMC4yODQ2NjhjLTAuMjI2NTYyNSwwLTAuNDI1NzgxMiwwLjA0MTUwMzktMC41OTU3MDMxLDAuMTI1cy0wLjMwOTU3MDMsMC4xOTQ4MjQyLTAuNDE5OTIxOSwwLjMzNDk2MDlDMTQuNjM0NzY1Niw5LjA5Mjc3MzQsMTQuNTUyNzM0NCw5LjI1NjM0NzcsMTQuNSw5LjQ0Mjg3MTFjLTAuMDUzNzEwOSwwLjE4NzAxMTctMC4wODAwNzgxLDAuMzgzNzg5MS0wLjA4MDA3ODEsMC41OTAzMzJoLTAuODQ5NjA5NGMwLjAxMjY5NTMtMC4zNDAzMzIsMC4wNjczODI4LTAuNjUwMzkwNiwwLjE2NDA2MjUtMC45MzAxNzU4czAuMjM1MzUxNi0wLjUyMDAxOTUsMC40MTUwMzkxLTAuNzIwMjE0OGMwLjE4MDY2NDEtMC4xOTk3MDcsMC40MDUyNzM0LTAuMzU2NDQ1MywwLjY3NDgwNDctMC40Njk3MjY2YzAuMjcwNTA3OC0wLjExMzI4MTIsMC41ODIwMzEyLTAuMTY5OTIxOSwwLjkzNTU0NjktMC4xNjk5MjE5YzAuMzA2NjQwNiwwLDAuNTkxNzk2OSwwLjAzODA4NTksMC44NTU0Njg4LDAuMTE0NzQ2MWMwLjI2MjY5NTMsMC4wNzY2NjAyLDAuNDkwMjM0NCwwLjE5MTg5NDUsMC42ODQ1NzAzLDAuMzQ1MjE0OGMwLjE5MjM4MjgsMC4xNTMzMjAzLDAuMzQ0NzI2NiwwLjM1MDA5NzcsMC40NTQxMDE2LDAuNTg5ODQzOGMwLjExMTMyODEsMC4yNDAyMzQ0LDAuMTY2MDE1NiwwLjUyMzQzNzUsMC4xNjYwMTU2LDAuODUwMDk3N2MwLDAuMzE5ODI0Mi0wLjA5Mzc1LDAuNjAzNTE1Ni0wLjI4MDI3MzQsMC44NTAwOTc3cy0wLjQxOTkyMTksMC40MzMxMDU1LTAuNzAwMTk1MywwLjU2MDA1ODZ2MC4wMjAwMTk1YzAuNDMzNTkzOCwwLjA5MzI2MTcsMC43NTU4NTk0LDAuMjk2Mzg2NywwLjk2NDg0MzgsMC42MDk4NjMzYzAuMjEwOTM3NSwwLjMxMzQ3NjYsMC4zMTU0Mjk3LDAuNjgzMTA1NSwwLjMxNTQyOTcsMS4xMDk4NjMzYzAsMC4zNTM1MTU2LTAuMDY1NDI5NywwLjY2NTAzOTEtMC4xOTUzMTI1LDAuOTM1MDU4NlMxNy43MTk3MjY2LDE0LjIyMzE0NDUsMTcuNSwxNC40MDI4MzJjLTAuMjIwNzAzMSwwLjE4MDE3NTgtMC40Nzg1MTU2LDAuMzE0OTQxNC0wLjc3NTM5MDYsMC40MDUyNzM0Yy0wLjI5Njg3NSwwLjA4OTg0MzgtMC42MTEzMjgxLDAuMTM0NzY1Ni0wLjk0NTMxMjUsMC4xMzQ3NjU2Yy0wLjM1OTM3NSwwLTAuNjg2NTIzNC0wLjA0OTgwNDctMC45Nzk0OTIyLTAuMTQ5OTAyM2MtMC4yOTM5NDUzLTAuMTAwMDk3Ny0wLjU0Mzk0NTMtMC4yNDgwNDY5LTAuNzUtMC40NDQ4MjQyYy0wLjIwNzAzMTItMC4xOTY3NzczLTAuMzY1MjM0NC0wLjQzODQ3NjYtMC40NzU1ODU5LTAuNzI1MDk3N2MtMC4xMDkzNzUtMC4yODY2MjExLTAuMTYxMTMyOC0wLjYxMzI4MTItMC4xNTQyOTY5LTAuOTc5OTgwNWgwLjg0OTYwOTRjMC4wMTM2NzE5LDAuNDU5OTYwOSwwLjE0NjQ4NDQsMC44MzQ5NjA5LDAuNDAwMzkwNiwxLjEyNWMwLjI1MjkyOTcsMC4yOTAwMzkxLDAuNjIzMDQ2OSwwLjQzNTA1ODYsMS4xMDkzNzUsMC40MzUwNTg2YzAuMjA3MDMxMiwwLDAuNDA0Mjk2OS0wLjAzMTczODMsMC41ODk4NDM4LTAuMDk1MjE0OGMwLjE4NzUtMC4wNjI5ODgzLDAuMzUwNTg1OS0wLjE1MzMyMDMsMC40OTAyMzQ0LTAuMjcwMDE5NUMxNywxMy43MjE2Nzk3LDE3LjExMTMyODEsMTMuNTc4MTI1LDE3LjE5NTMxMjUsMTMuNDA4MjAzMWMwLjA4MjAzMTItMC4xNzA0MTAyLDAuMTI1LTAuMzYxODE2NCwwLjEyNS0wLjU3NTE5NTNjMC0wLjIyMDIxNDgtMC4wNDEwMTU2LTAuNDE1MDM5MS0wLjEyMTA5MzgtMC41ODQ5NjA5cy0wLjE4NjUyMzQtMC4zMTM0NzY2LTAuMzIwMzEyNS0wLjQzMDE3NThjLTAuMTMyODEyNS0wLjExNjIxMDktMC4yOTEwMTU2LTAuMjAzMTI1LTAuNDc0NjA5NC0wLjI1OTc2NTZzLTAuMzgwODU5NC0wLjA4NDk2MDktMC41OTQ3MjY2LTAuMDg0OTYwOWMtMC4xODA2NjQxLDAtMC4zNTA1ODU5LDAuMDA5NzY1Ni0wLjUwOTc2NTYsMC4wMjk3ODUydi0wLjcxOTcyNjZDMTUuMzMzMDA3OCwxMC43ODk1NTA4LDE1LjM2MzI4MTIsMTAuNzkyOTY4OCwxNS4zODk2NDg0LDEwLjc5Mjk2ODh6XCIvPjwvZz48L3N2Zz4nKTtcbiAgfVxuICAmLmljb24tZm9ybWF0LXNjaWVudGlmaWMge1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIGhlaWdodDogMjJweDtcbiAgICAuZW5jb2RlZC1zdmctYmFja2dyb3VuZCgnPHN2ZyB2ZXJzaW9uPVwiMS4xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHZpZXdCb3g9XCIwIDAgMjIgMjJcIiBmaWxsPVwiQHt0aGVtZUNvbG9yfVwiPjxnPjxwYXRoIGQ9XCJNNC45ODA0Njg4LDE1LjgzMzAwNzh2LTUuNTg3ODkwNkgyLjk1NzAzMTJWOS40OTcwNzAzYzAuMjYzNjcxOSwwLDAuNTE5NTMxMi0wLjAyMDAxOTUsMC43Njk1MzEyLTAuMDYwNTQ2OWMwLjI0OTAyMzQtMC4wNDAwMzkxLDAuNDc0NjA5NC0wLjExNTcyMjcsMC42NzU3ODEyLTAuMjI1NTg1OWMwLjIwMjE0ODQtMC4xMDk4NjMzLDAuMzczMDQ2OS0wLjI2MDI1MzksMC41MTE3MTg4LTAuNDUxMTcxOWMwLjEzOTY0ODQtMC4xOTA0Mjk3LDAuMjM0Mzc1LTAuNDMyMTI4OSwwLjI4NzEwOTQtMC43MjU1ODU5aDAuNzE0ODQzOHY3Ljc5ODgyODFINC45ODA0Njg4elwiLz48cGF0aCBkPVwiTTguNTk5NjA5NCwxMS4xMTM3Njk1YzAuMDE0NjQ4NC0wLjMwNzYxNzIsMC4wNTA3ODEyLTAuNjA4Mzk4NCwwLjExMDM1MTYtMC45MDE4NTU1YzAuMDU4NTkzOC0wLjI5Mjk2ODgsMC4xNDI1NzgxLTAuNTcxNzc3MywwLjI1MjkyOTctMC44MzU5Mzc1YzAuMTA5Mzc1LTAuMjY0MTYwMiwwLjI1OTc2NTYtMC40OTUxMTcyLDAuNDUxMTcxOS0wLjY5Mjg3MTFDOS42MDQ0OTIyLDguNDg0ODYzMyw5Ljg0Mzc1LDguMzI3NjM2NywxMC4xMzQ3NjU2LDguMjA5OTYwOWMwLjI4OTA2MjUtMC4xMTcxODc1LDAuNjM1NzQyMi0wLjE3NTc4MTIsMS4wMzkwNjI1LTAuMTc1NzgxMnMwLjc1LDAuMDU4NTkzOCwxLjAzOTA2MjUsMC4xNzU3ODEyYzAuMjkwMDM5MSwwLjExNzY3NTgsMC41MzAyNzM0LDAuMjc0OTAyMywwLjcyMDcwMzEsMC40NzMxNDQ1QzEzLjEyNSw4Ljg4MDg1OTQsMTMuMjc1MzkwNiw5LjExMTgxNjQsMTMuMzg0NzY1Niw5LjM3NTk3NjZzMC4xOTQzMzU5LDAuNTQyOTY4OCwwLjI1MjkyOTcsMC44MzU5Mzc1YzAuMDU4NTkzOCwwLjI5MzQ1NywwLjA5NDcyNjYsMC41OTQyMzgzLDAuMTEwMzUxNiwwLjkwMTg1NTVjMC4wMTM2NzE5LDAuMzA4MTA1NSwwLjAyMTQ4NDQsMC42MDU0Njg4LDAuMDIxNDg0NCwwLjg5MTExMzNjMCwwLjI4NjEzMjgtMC4wMDc4MTI1LDAuNTgzMDA3OC0wLjAyMTQ4NDQsMC44OTExMTMzYy0wLjAxNTYyNSwwLjMwODEwNTUtMC4wNTE3NTc4LDAuNjA4ODg2Ny0wLjExMDM1MTYsMC45MDE4NTU1Yy0wLjA1ODU5MzgsMC4yOTM0NTctMC4xNDM1NTQ3LDAuNTcwMzEyNS0wLjI1MjkyOTcsMC44MzA1NjY0cy0wLjI1OTc2NTYsMC40ODk3NDYxLTAuNDUxMTcxOSwwLjY4NzVjLTAuMTkwNDI5NywwLjE5ODI0MjItMC40Mjg3MTA5LDAuMzU0MDAzOS0wLjcxNDg0MzgsMC40Njc3NzM0Yy0wLjI4NjEzMjgsMC4xMTMyODEyLTAuNjM0NzY1NiwwLjE3MDQxMDItMS4wNDQ5MjE5LDAuMTcwNDEwMmMtMC40MDMzMjAzLDAtMC43NS0wLjA1NzEyODktMS4wMzkwNjI1LTAuMTcwNDEwMkM5Ljg0Mzc1LDE1LjY2OTkyMTksOS42MDQ0OTIyLDE1LjUxNDE2MDIsOS40MTQwNjI1LDE1LjMxNTkxOGMtMC4xOTE0MDYyLTAuMTk3NzUzOS0wLjM0MTc5NjktMC40MjcyNDYxLTAuNDUxMTcxOS0wLjY4NzVjLTAuMTEwMzUxNi0wLjI2MDI1MzktMC4xOTQzMzU5LTAuNTM3MTA5NC0wLjI1MjkyOTctMC44MzA1NjY0Yy0wLjA1OTU3MDMtMC4yOTI5Njg4LTAuMDk1NzAzMS0wLjU5Mzc1LTAuMTEwMzUxNi0wLjkwMTg1NTVTOC41NzgxMjUsMTIuMjkxMDE1Niw4LjU3ODEyNSwxMi4wMDQ4ODI4QzguNTc4MTI1LDExLjcxOTIzODMsOC41ODQ5NjA5LDExLjQyMTg3NSw4LjU5OTYwOTQsMTEuMTEzNzY5NXogTTkuNTk1NzAzMSwxMi45Nzg1MTU2YzAuMDE3NTc4MSwwLjM2Mjc5MywwLjA3NjE3MTksMC43MDQxMDE2LDAuMTc1NzgxMiwxLjAyMjk0OTJjMC4wOTg2MzI4LDAuMzE4ODQ3NywwLjI1NzgxMjUsMC41ODgzNzg5LDAuNDc4NTE1NiwwLjgwODU5MzhjMC4yMTk3MjY2LDAuMjE5NzI2NiwwLjUyNzM0MzgsMC4zMzAwNzgxLDAuOTIzODI4MSwwLjMzMDA3ODFzMC43MDQxMDE2LTAuMTEwMzUxNiwwLjkyMzgyODEtMC4zMzAwNzgxYzAuMjIwNzAzMS0wLjIyMDIxNDgsMC4zNzg5MDYyLTAuNDg5NzQ2MSwwLjQ3ODUxNTYtMC44MDg1OTM4czAuMTU4MjAzMS0wLjY2MDE1NjIsMC4xNzU3ODEyLTEuMDIyOTQ5MmMwLjAxODU1NDctMC4zNjI3OTMsMC4wMjczNDM4LTAuNjkwOTE4LDAuMDI3MzQzOC0wLjk4NDM3NWMwLTAuMTkwOTE4LTAuMDAxOTUzMS0wLjQwMTg1NTUtMC4wMDQ4ODI4LTAuNjMyODEyNWMtMC4wMDM5MDYyLTAuMjMwOTU3LTAuMDIyNDYwOS0wLjQ2MTkxNDEtMC4wNTU2NjQxLTAuNjkyODcxMXMtMC4wODAwNzgxLTAuNDU2NTQzLTAuMTQyNTc4MS0wLjY3NjI2OTVjLTAuMDYyNS0wLjIyMDIxNDgtMC4xNTQyOTY5LTAuNDEyNTk3Ny0wLjI3NTM5MDYtMC41Nzc2MzY3cy0wLjI3MzQzNzUtMC4yOTg4MjgxLTAuNDU2MDU0Ny0wLjQwMTM2NzJDMTEuNjYxMTMyOCw4LjkxMDE1NjIsMTEuNDM3NSw4Ljg1ODg4NjcsMTEuMTczODI4MSw4Ljg1ODg4NjdzLTAuNDg4MjgxMiwwLjA1MTI2OTUtMC42NzA4OTg0LDAuMTU0Mjk2OWMtMC4xODM1OTM4LDAuMTAyNTM5MS0wLjMzNTkzNzUsMC4yMzYzMjgxLTAuNDU2MDU0NywwLjQwMTM2NzJDOS45MjU3ODEyLDkuNTc5NTg5OCw5LjgzMzk4NDQsOS43NzE5NzI3LDkuNzcxNDg0NCw5Ljk5MjE4NzVjLTAuMDYyNSwwLjIxOTcyNjYtMC4xMTAzNTE2LDAuNDQ1MzEyNS0wLjE0MjU3ODEsMC42NzYyNjk1Yy0wLjAzMzIwMzEsMC4yMzA5NTctMC4wNTI3MzQ0LDAuNDYxOTE0MS0wLjA1NTY2NDEsMC42OTI4NzExYy0wLjAwMzkwNjIsMC4yMzA5NTctMC4wMDQ4ODI4LDAuNDQxODk0NS0wLjAwNDg4MjgsMC42MzI4MTI1QzkuNTY4MzU5NCwxMi4yODc1OTc3LDkuNTc2MTcxOSwxMi42MTU3MjI3LDkuNTk1NzAzMSwxMi45Nzg1MTU2elwiLz48cGF0aCBkPVwiTTE0LjMzMDA3ODEsNS4xMDk4NjMzYzAuMDU0Njg3NS0wLjE4MzU5MzgsMC4xNDI1NzgxLTAuMzQyNzczNCwwLjI1OTc2NTYtMC40NzcwNTA4YzAuMTE5MTQwNi0wLjEzMzc4OTEsMC4yNjU2MjUtMC4yMzg3Njk1LDAuNDQxNDA2Mi0wLjMxNDk0MTRjMC4xNzU3ODEyLTAuMDc1NjgzNiwwLjM3NTk3NjYtMC4xMTM3Njk1LDAuNTk5NjA5NC0wLjExMzc2OTVjMC4xODQ1NzAzLDAsMC4zNTc0MjE5LDAuMDI2ODU1NSwwLjUxOTUzMTIsMC4wODEwNTQ3QzE2LjMxMjUsNC4zMzg4NjcyLDE2LjQ1MzEyNSw0LjQxNjk5MjIsMTYuNTc0MjE4OCw0LjUxOTA0M2MwLjExOTE0MDYsMC4xMDIwNTA4LDAuMjE0ODQzOCwwLjIyOTAwMzksMC4yODQxNzk3LDAuMzgwODU5NGMwLjA2OTMzNTksMC4xNTIzNDM4LDAuMTA0NDkyMiwwLjMyODEyNSwwLjEwNDQ5MjIsMC41MjgzMjAzYzAsMC4xODc5ODgzLTAuMDI4MzIwMywwLjM1NDAwMzktMC4wODU5Mzc1LDAuNDk3NTU4NmMtMC4wNTg1OTM4LDAuMTQ0MDQzLTAuMTM0NzY1NiwwLjI3MzQzNzUtMC4yMzE0NDUzLDAuMzg3MjA3Yy0wLjA5NjY3OTcsMC4xMTQyNTc4LTAuMjA2MDU0NywwLjIxNzI4NTItMC4zMzAwNzgxLDAuMzA5MDgycy0wLjI1MTk1MzEsMC4xODAxNzU4LTAuMzgzNzg5MSwwLjI2NDE2MDJjLTAuMTMyODEyNSwwLjA4MDA3ODEtMC4yNjM2NzE5LDAuMTU4NjkxNC0wLjM5NjQ4NDQsMC4yMzY4MTY0Yy0wLjEzMTgzNTksMC4wNzgxMjUtMC4yNTE5NTMxLDAuMTYxMTMyOC0wLjM2MzI4MTIsMC4yNDkwMjM0Yy0wLjEwOTM3NSwwLjA4Nzg5MDYtMC4yMDMxMjUsMC4xODMxMDU1LTAuMjgxMjUsMC4yODUxNTYyYy0wLjA3ODEyNSwwLjEwMTU2MjUtMC4xMjg5MDYyLDAuMjE4NzUtMC4xNTMzMjAzLDAuMzUwNTg1OWgyLjE4NDU3MDN2MC40NTAxOTUzaC0yLjc3ODMyMDNjMC4wMjA1MDc4LTAuMjUxOTUzMSwwLjA2NTQyOTctMC40NjY3OTY5LDAuMTM0NzY1Ni0wLjY0NTAxOTVjMC4wNzAzMTI1LTAuMTc3NzM0NCwwLjE1OTE3OTctMC4zMzMwMDc4LDAuMjY2NjAxNi0wLjQ2NDg0MzhDMTQuNjUzMzIwMyw3LjIxNTgyMDMsMTQuNzc1MzkwNiw3LjEwMDA5NzcsMTQuOTEyMTA5NCw3YzAuMTM0NzY1Ni0wLjEwMDA5NzcsMC4yNzczNDM4LTAuMTkzODQ3NywwLjQyNTc4MTItMC4yODIyMjY2YzAuMTc5Njg3NS0wLjExMTgxNjQsMC4zMzc4OTA2LTAuMjE0ODQzOCwwLjQ3MzYzMjgtMC4zMDg1OTM4YzAuMTM1NzQyMi0wLjA5NDIzODMsMC4yNDkwMjM0LTAuMTg4OTY0OCwwLjMzODg2NzItMC4yODUxNTYyczAuMTU4MjAzMS0wLjIwMDE5NTMsMC4yMDQxMDE2LTAuMzEyMDExN3MwLjA2OTMzNTktMC4yNDIxODc1LDAuMDY5MzM1OS0wLjM5MDEzNjdjMC0wLjExNTcyMjctMC4wMjI0NjA5LTAuMjIwNzAzMS0wLjA2NjQwNjItMC4zMTQ5NDE0Yy0wLjA0Mzk0NTMtMC4wOTM3NS0wLjEwMzUxNTYtMC4xNzQ4MDQ3LTAuMTc2NzU3OC0wLjI0MzE2NDFjLTAuMDc0MjE4OC0wLjA2Nzg3MTEtMC4xNjExMzI4LTAuMTE5NjI4OS0wLjI2MDc0MjItMC4xNTU3NjE3Yy0wLjEwMDU4NTktMC4wMzYxMzI4LTAuMjA3MDMxMi0wLjA1NDE5OTItMC4zMTgzNTk0LTAuMDU0MTk5MmMtMC4xNDg0Mzc1LDAtMC4yNzUzOTA2LDAuMDMxMjUtMC4zODA4NTk0LDAuMDkzMjYxN2MtMC4xMDY0NDUzLDAuMDYyMDExNy0wLjE5MzM1OTQsMC4xNDMwNjY0LTAuMjYxNzE4OCwwLjI0MzE2NDFDMTQuODkxNjAxNiw1LjA4OTg0MzgsMTQuODQxNzk2OSw1LjIwMzEyNSwxNC44MTI1LDUuMzI5MTAxNnMtMC4wNDI5Njg4LDAuMjUyOTI5Ny0wLjAzOTA2MjUsMC4zODA4NTk0aC0wLjUwOTc2NTZDMTQuMjUxOTUzMSw1LjQ5NDE0MDYsMTQuMjczNDM3NSw1LjI5Mzk0NTMsMTQuMzMwMDc4MSw1LjEwOTg2MzN6XCIvPjwvZz48L3N2Zz4nKTtcbiAgfVxuICAmLmljb24tZm9ybWF0LWFjY291bnRpbmcge1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIGhlaWdodDogMjJweDtcbiAgICAuZW5jb2RlZC1zdmctYmFja2dyb3VuZCgnPHN2ZyB2ZXJzaW9uPVwiMS4xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHZpZXdCb3g9XCIwIDAgMjIgMjJcIiBmaWxsPVwiQHt0aGVtZUNvbG9yfVwiPjxnPjxwYXRoIGQ9XCJNMTUuNSwyMWgtMTBDNC4xLDIxLDMsMTkuOSwzLDE4LjV2LTE0QzMsMy4xLDQuMSwyLDUuNSwyaDEwQzE2LjksMiwxOCwzLjEsMTgsNC41djE0QzE4LDE5LjksMTYuOSwyMSwxNS41LDIxeiBNNS41LDNDNC43LDMsNCwzLjcsNCw0LjV2MTRDNCwxOS4zLDQuNywyMCw1LjUsMjBoMTBjMC44LDAsMS41LTAuNywxLjUtMS41di0xNEMxNywzLjcsMTYuMywzLDE1LjUsM0g1LjV6XCIvPjxwYXRoIGQ9XCJNMTQuNSw5aC04QzUuNyw5LDUsOC4zLDUsNy41di0yQzUsNC43LDUuNyw0LDYuNSw0aDhDMTUuMyw0LDE2LDQuNywxNiw1LjV2MkMxNiw4LjMsMTUuMyw5LDE0LjUsOXogTTYuNSw1QzYuMiw1LDYsNS4yLDYsNS41djJDNiw3LjgsNi4yLDgsNi41LDhoOEMxNC44LDgsMTUsNy44LDE1LDcuNXYtMkMxNSw1LjIsMTQuOCw1LDE0LjUsNUg2LjV6XCIvPjxyZWN0IHg9XCI1XCIgeT1cIjEwXCIgd2lkdGg9XCIzXCIgaGVpZ2h0PVwiMlwiLz48cmVjdCB4PVwiOVwiIHk9XCIxMFwiIHdpZHRoPVwiM1wiIGhlaWdodD1cIjJcIi8+PHJlY3QgeD1cIjEzXCIgeT1cIjEwXCIgd2lkdGg9XCIzXCIgaGVpZ2h0PVwiMlwiLz48cmVjdCB4PVwiMTNcIiB5PVwiMTNcIiB3aWR0aD1cIjNcIiBoZWlnaHQ9XCIyXCIvPjxyZWN0IHg9XCI5XCIgeT1cIjEzXCIgd2lkdGg9XCIzXCIgaGVpZ2h0PVwiMlwiLz48cmVjdCB4PVwiNVwiIHk9XCIxM1wiIHdpZHRoPVwiM1wiIGhlaWdodD1cIjJcIi8+PHJlY3QgeD1cIjVcIiB5PVwiMTZcIiB3aWR0aD1cIjNcIiBoZWlnaHQ9XCIyXCIvPjxyZWN0IHg9XCI5XCIgeT1cIjE2XCIgd2lkdGg9XCIzXCIgaGVpZ2h0PVwiMlwiLz48cmVjdCB4PVwiMTNcIiB5PVwiMTZcIiB3aWR0aD1cIjNcIiBoZWlnaHQ9XCIyXCIvPjwvZz48L3N2Zz4nKTtcbiAgfVxuICAmLmljb24tZm9ybWF0LWN1cnJlbmN5IHtcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAgLmVuY29kZWQtc3ZnLWJhY2tncm91bmQoJzxzdmcgdmVyc2lvbj1cIjEuMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB2aWV3Qm94PVwiMCAwIDIyIDIyXCIgZmlsbD1cIkB7dGhlbWVDb2xvcn1cIj48Zz48cGF0aCBkPVwiTTAsNHYxNGgyMlY0SDB6IE0yMSwxN0gxVjVoMjBWMTd6XCIvPjxwYXRoIGlkPVwiWE1MSURfM19cIiBkPVwiTTExLDE2Yy0yLjIsMC00LTIuMi00LTVzMS44LTUsNC01YzIuMiwwLDQsMi4yLDQsNVMxMy4yLDE2LDExLDE2eiBNMTEsN2MtMS43LDAtMywxLjgtMyw0YzAsMi4yLDEuMyw0LDMsNHMzLTEuOCwzLTRDMTQsOC44LDEyLjcsNywxMSw3elwiLz48L2c+PC9zdmc+Jyk7XG4gIH1cbiAgJi5pY29uLWZvcm1hdC1kYXRlIHtcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAgLmVuY29kZWQtc3ZnLWJhY2tncm91bmQoJzxzdmcgdmVyc2lvbj1cIjEuMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB2aWV3Qm94PVwiMCAwIDIyIDIyXCIgZmlsbD1cIkB7dGhlbWVDb2xvcn1cIj48Zz48cGF0aCBkPVwiTTIwLDIwSDJWN2gxOFYyMHogTTMsMTloMTZWOEgzVjE5elwiLz48cGF0aCBkPVwiTTgsNkg1VjJoM1Y2eiBNNiw1aDFWM0g2VjV6XCIvPjxwYXRoIGQ9XCJNMTcsNmgtM1YyaDNWNnogTTE1LDVoMVYzaC0xVjV6XCIvPjxwYXRoIGQ9XCJNOC44LDE1Ljh2LTQuMUg3LjR2LTAuNWMwLjIsMCwwLjQsMCwwLjYsMHMwLjMtMC4xLDAuNS0wLjJjMC4xLTAuMSwwLjMtMC4yLDAuNC0wLjNDOC45LDEwLjYsOSwxMC40LDksMTAuMmgwLjV2NS43SDguOHpcIi8+PHBhdGggZD1cIk0xNC40LDExLjhjLTAuMywwLjQtMC41LDAuOC0wLjcsMS4yYy0wLjIsMC40LTAuNCwwLjktMC41LDEuNGMtMC4xLDAuNS0wLjIsMC45LTAuMiwxLjRoLTAuOGMwLTAuNSwwLjEtMC45LDAuMi0xLjRjMC4xLTAuNSwwLjMtMC45LDAuNS0xLjNzMC40LTAuOCwwLjctMS4yYzAuMy0wLjQsMC41LTAuNywwLjgtMWgtM3YtMC42aDMuN3YwLjZDMTQuOSwxMS4xLDE0LjYsMTEuNSwxNC40LDExLjh6XCIvPjxyZWN0IHg9XCIyXCIgeT1cIjNcIiB3aWR0aD1cIjFcIiBoZWlnaHQ9XCI0XCIvPjxyZWN0IHg9XCIzXCIgeT1cIjNcIiB3aWR0aD1cIjJcIiBoZWlnaHQ9XCIxXCIvPjxyZWN0IHg9XCI4XCIgeT1cIjNcIiB3aWR0aD1cIjZcIiBoZWlnaHQ9XCIxXCIvPjxyZWN0IHg9XCIxN1wiIHk9XCIzXCIgd2lkdGg9XCIzXCIgaGVpZ2h0PVwiMVwiLz48cmVjdCB4PVwiMTlcIiB5PVwiNFwiIHdpZHRoPVwiMVwiIGhlaWdodD1cIjNcIi8+PC9nPjwvc3ZnPicpO1xuICB9XG4gICYuaWNvbi1mb3JtYXQtdGltZSB7XG4gICAgd2lkdGg6IDIycHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIC5lbmNvZGVkLXN2Zy1iYWNrZ3JvdW5kKCc8c3ZnIHZlcnNpb249XCIxLjFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgdmlld0JveD1cIjAgMCAyMiAyMlwiIGZpbGw9XCJAe3RoZW1lQ29sb3J9XCI+PGc+PHBhdGggZD1cIk0xMS4yLDIxLjFjLTUuNywwLTEwLjMtNC42LTEwLjMtMTAuM1M1LjUsMC41LDExLjIsMC41czEwLjMsNC42LDEwLjMsMTAuM1MxNi45LDIxLjEsMTEuMiwyMS4xeiBNMTEuMiwxLjVjLTUuMSwwLTkuMyw0LjItOS4zLDkuM2MwLDUuMSw0LjIsOS4zLDkuMyw5LjNjNS4xLDAsOS4zLTQuMiw5LjMtOS4zQzIwLjUsNS43LDE2LjMsMS41LDExLjIsMS41elwiLz48cGF0aCBjbGFzcz1cInN0MFwiIGQ9XCJNMTEuNSwxMVwiLz48Y2lyY2xlIGN4PVwiMTEuMlwiIGN5PVwiMTAuOFwiIHI9XCIxLjlcIi8+PHJlY3QgeD1cIjEwLjdcIiB5PVwiMi42XCIgd2lkdGg9XCIxXCIgaGVpZ2h0PVwiOFwiLz48cmVjdCB4PVwiNy4xXCIgeT1cIjEwLjRcIiB3aWR0aD1cIjMuNFwiIGhlaWdodD1cIjAuOVwiLz48L2c+PC9zdmc+Jyk7XG4gIH1cbiAgJi5pY29uLWZvcm1hdC1wZXJjZW50YWdlIHtcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAgLmVuY29kZWQtc3ZnLWJhY2tncm91bmQoJzxzdmcgdmVyc2lvbj1cIjEuMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB2aWV3Qm94PVwiMCAwIDIyIDIyXCIgZmlsbD1cIkB7dGhlbWVDb2xvcn1cIj48Zz48cGF0aCBkPVwiTTIuNzk5ODA0Nyw2LjQ5NzA3MDNjMC4wOTU3MDMxLTAuNDM3NSwwLjI1NzgxMjUtMC44MjUxOTUzLDAuNDg2MzI4MS0xLjE2MTEzMkMzLjUxMzY3MTksNSwzLjgxMzQ3NjYsNC43MzMzOTg0LDQuMTg1NTQ2OSw0LjUzNTE1NjJzMC44MzM5ODQ0LTAuMjk2ODc1LDEuMzg2NzE4OC0wLjI5Njg3NWMwLjU2MzQ3NjYsMCwxLjAyODMyMDMsMC4wOTU3MDMxLDEuMzk0NTMxMiwwLjI4ODA4NTljMC4zNjYyMTA5LDAuMTkxNDA2MiwwLjY2MDE1NjIsMC40NDkyMTg4LDAuODgxODM1OSwwLjc3MzQzNzVjMC4yMjI2NTYyLDAuMzI0MjE4OCwwLjM3NzkyOTcsMC43MDUwNzgxLDAuNDY4NzUsMS4xNDM1NTQ3YzAuMDg5ODQzOCwwLjQzNzUsMC4xMzQ3NjU2LDAuOTAyMzQzOCwwLjEzNDc2NTYsMS4zOTQ1MzEyYzAsMC40Njc3NzM0LTAuMDUxNzU3OCwwLjkyMDg5ODQtMC4xNTMzMjAzLDEuMzU5Mzc1Yy0wLjEwMTU2MjUsMC40Mzc1LTAuMjY5NTMxMiwwLjgyMjI2NTYtMC41MDM5MDYyLDEuMTUxMzY3MmMtMC4yMzQzNzUsMC4zMzAwNzgxLTAuNTMxMjUsMC41OTc2NTYyLTAuODkwNjI1LDAuODAxNzU3OGMtMC4zNjAzNTE2LDAuMjA0MTAxNi0wLjgwNDY4NzUsMC4zMDU2NjQxLTEuMzMyMDMxMiwwLjMwNTY2NDFjLTAuNTQwMDM5MSwwLTAuOTk2MDkzOC0wLjA5Mjc3MzQtMS4zNjgxNjQxLTAuMjc5Mjk2OWMtMC4zNzIwNzAzLTAuMTg1NTQ2OS0wLjY3MTg3NS0wLjQ0MDQyOTctMC45MDAzOTA2LTAuNzY0NjQ4NGMtMC4yMjc1MzkxLTAuMzI0MjE4OC0wLjM5MjU3ODEtMC43MDIxNDg0LTAuNDk1MTE3Mi0xLjEzMzc4OTFDMi43MDcwMzEyLDguODQ1NzAzMSwyLjY1NjI1LDguMzgzNzg5MSwyLjY1NjI1LDcuODkxNjAxNkMyLjY1NjI1LDcuNDAwMzkwNiwyLjcwNDEwMTYsNi45MzU1NDY5LDIuNzk5ODA0Nyw2LjQ5NzA3MDN6IE00LjA1MDc4MTIsOC43MTA5Mzc1YzAuMDMwMjczNCwwLjMwNTY2NDEsMC4wOTk2MDk0LDAuNTg3ODkwNiwwLjIwNzAzMTIsMC44NDU3MDMxYzAuMTA4Mzk4NCwwLjI1ODc4OTEsMC4yNjA3NDIyLDAuNDc0NjA5NCwwLjQ1ODk4NDQsMC42NDg0Mzc1czAuNDY0ODQzOCwwLjI2MDc0MjIsMC44MDA3ODEyLDAuMjYwNzQyMmMwLjM0ODYzMjgsMCwwLjYyNDAyMzQtMC4wODM5ODQ0LDAuODI4MTI1LTAuMjUxOTUzMXMwLjM2MzI4MTItMC4zODA4NTk0LDAuNDc3NTM5MS0wLjYzODY3MTljMC4xMTMyODEyLTAuMjU3ODEyNSwwLjE4ODQ3NjYtMC41NDI5Njg4LDAuMjI0NjA5NC0wLjg1NTQ2ODhjMC4wMzYxMzI4LTAuMzExNTIzNCwwLjA1MzcxMDktMC42MDU0Njg4LDAuMDUzNzEwOS0wLjg4MTgzNTljMC0wLjI2MzY3MTktMC4wMTQ2NDg0LTAuNTQ4ODI4MS0wLjA0NDkyMTktMC44NTQ0OTIyQzcuMDI3MzQzOCw2LjY3Njc1NzgsNi45NTgwMDc4LDYuMzk1NTA3OCw2Ljg0OTYwOTQsNi4xMzY3MTg4QzYuNzQyMTg3NSw1Ljg3ODkwNjIsNi41ODg4NjcyLDUuNjYzMDg1OSw2LjM5MDYyNSw1LjQ4OTI1NzhDNi4xOTMzNTk0LDUuMzE1NDI5Nyw1LjkxOTkyMTksNS4yMjc1MzkxLDUuNTcyMjY1Niw1LjIyNzUzOTFjLTAuMzM1OTM3NSwwLTAuNjA2NDQ1MywwLjA4Nzg5MDYtMC44MTA1NDY5LDAuMjYxNzE4OFM0LjM5ODQzNzUsNS44Nzg5MDYyLDQuMjg1MTU2Miw2LjEzNjcxODhDNC4xNzA4OTg0LDYuMzk1NTA3OCw0LjA5NTcwMzEsNi42NzY3NTc4LDQuMDU5NTcwMyw2Ljk4MzM5ODRDNC4wMjQ0MTQxLDcuMjg5MDYyNSw0LjAwNTg1OTQsNy41ODAwNzgxLDQuMDA1ODU5NCw3Ljg1NjQ0NTNDNC4wMDU4NTk0LDguMTIwMTE3Miw0LjAyMDUwNzgsOC40MDUyNzM0LDQuMDUwNzgxMiw4LjcxMDkzNzV6IE0xNS41OTc2NTYyLDQuMDAzOTA2Mkw1LjkzMTY0MDYsMTcuMzc3OTI5N0g0LjM4Mzc4OTFsOS42ODQ1NzAzLTEzLjM3NDAyMzRIMTUuNTk3NjU2MnogTTExLjY5MjM4MjgsMTIuMjU2ODM1OWMwLjA5NTcwMzEtMC40Mzc1LDAuMjU3ODEyNS0wLjgyNTE5NTMsMC40ODUzNTE2LTEuMTYxMTMyOGMwLjIyODUxNTYtMC4zMzU5Mzc1LDAuNTI4MzIwMy0wLjYwMjUzOTEsMC45MDAzOTA2LTAuODAwNzgxMnMwLjgzMzk4NDQtMC4yOTY4NzUsMS4zODU3NDIyLTAuMjk2ODc1YzAuNTY0NDUzMSwwLDEuMDI5Mjk2OSwwLjA5NTcwMzEsMS4zOTU1MDc4LDAuMjg4MDg1OWMwLjM2NTIzNDQsMC4xOTIzODI4LDAuNjU5MTc5NywwLjQ1MDE5NTMsMC44ODE4MzU5LDAuNzczNDM3NWMwLjIyMTY3OTcsMC4zMjQyMTg4LDAuMzc3OTI5NywwLjcwNTA3ODEsMC40Njc3NzM0LDEuMTQzNTU0N3MwLjEzNDc2NTYsMC45MDMzMjAzLDAuMTM0NzY1NiwxLjM5NDUzMTJjMCwwLjQ2ODc1LTAuMDUwNzgxMiwwLjkyMTg3NS0wLjE1MjM0MzgsMS4zNTkzNzVjLTAuMTAyNTM5MSwwLjQzODQ3NjYtMC4yNzA1MDc4LDAuODIyMjY1Ni0wLjUwNDg4MjgsMS4xNTIzNDM4Yy0wLjIzMzM5ODQsMC4zMzAwNzgxLTAuNTMwMjczNCwwLjU5Mzc1LTAuODkwNjI1LDAuNzkxOTkyMmMtMC4zNjAzNTE2LDAuMTk3MjY1Ni0wLjgwMzcxMDksMC4yOTY4NzUtMS4zMzIwMzEyLDAuMjk2ODc1Yy0wLjU0MDAzOTEsMC0wLjk5NjA5MzgtMC4wOTM3NS0xLjM2ODE2NDEtMC4yNzkyOTY5cy0wLjY3MTg3NS0wLjQzNzUtMC44OTk0MTQxLTAuNzU1ODU5NGMtMC4yMjg1MTU2LTAuMzE4MzU5NC0wLjM5MzU1NDctMC42OTMzNTk0LTAuNDk1MTE3Mi0xLjEyNWMtMC4xMDI1MzkxLTAuNDMxNjQwNi0wLjE1MzMyMDMtMC44OTM1NTQ3LTAuMTUzMzIwMy0xLjM4NTc0MjJTMTEuNTk1NzAzMSwxMi42OTUzMTI1LDExLjY5MjM4MjgsMTIuMjU2ODM1OXogTTEyLjk0MzM1OTQsMTQuNDcwNzAzMWMwLjAyOTI5NjksMC4zMDY2NDA2LDAuMDk4NjMyOCwwLjU4ODg2NzIsMC4yMDcwMzEyLDAuODQ2Njc5N2MwLjEwNzQyMTksMC4yNTc4MTI1LDAuMjYwNzQyMiwwLjQ3MzYzMjgsMC40NTg5ODQ0LDAuNjQ3NDYwOWMwLjE5NzI2NTYsMC4xNzM4MjgxLDAuNDY0ODQzOCwwLjI2MDc0MjIsMC44MDA3ODEyLDAuMjYwNzQyMmMwLjM0NzY1NjIsMCwwLjYyNDAyMzQtMC4wODMwMDc4LDAuODI4MTI1LTAuMjUxOTUzMWMwLjIwNDEwMTYtMC4xNjc5Njg4LDAuMzYyMzA0Ny0wLjM4MDg1OTQsMC40NzY1NjI1LTAuNjM4NjcxOXMwLjE4OTQ1MzEtMC41NDI5Njg4LDAuMjI1NTg1OS0wLjg1NDQ5MjJjMC4wMzUxNTYyLTAuMzEyNSwwLjA1MzcxMDktMC42MDY0NDUzLDAuMDUzNzEwOS0wLjg4MjgxMjVjMC0wLjI2MzY3MTktMC4wMTU2MjUtMC41NDg4MjgxLTAuMDQ0OTIxOS0wLjg1NDQ5MjJjLTAuMDMwMjczNC0wLjMwNjY0MDYtMC4wOTk2MDk0LTAuNTg3ODkwNi0wLjIwNzAzMTItMC44NDU3MDMxYy0wLjEwODM5ODQtMC4yNTg3ODkxLTAuMjYwNzQyMi0wLjQ3NDYwOTQtMC40NTg5ODQ0LTAuNjQ4NDM3NXMtMC40NzE2Nzk3LTAuMjYwNzQyMi0wLjgxOTMzNTktMC4yNjA3NDIyYy0wLjMzNTkzNzUsMC0wLjYwNjQ0NTMsMC4wODY5MTQxLTAuODA5NTcwMywwLjI2MDc0MjJjLTAuMjA0MTAxNiwwLjE3MzgyODEtMC4zNjMyODEyLDAuMzg5NjQ4NC0wLjQ3NzUzOTEsMC42NDg0Mzc1Yy0wLjExNDI1NzgsMC4yNTc4MTI1LTAuMTg4NDc2NiwwLjUzOTA2MjUtMC4yMjQ2MDk0LDAuODQ1NzAzMWMtMC4wMzYxMzI4LDAuMzA1NjY0MS0wLjA1MzcxMDksMC41OTY2Nzk3LTAuMDUzNzEwOSwwLjg3MzA0NjlDMTIuODk4NDM3NSwxMy44Nzk4ODI4LDEyLjkxMzA4NTksMTQuMTY1MDM5MSwxMi45NDMzNTk0LDE0LjQ3MDcwMzF6XCIvPjwvZz48L3N2Zz4nKTtcbiAgfVxuICAmLmljb24tZm9ybWF0LXRleHQge1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIGhlaWdodDogMjJweDtcbiAgICAuZW5jb2RlZC1zdmctYmFja2dyb3VuZCgnPHN2ZyB2ZXJzaW9uPVwiMS4xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHZpZXdCb3g9XCIwIDAgMjIgMjJcIiBmaWxsPVwiQHt0aGVtZUNvbG9yfVwiPjxnPjxwYXRoIGQ9XCJNNS41MjM0Mzc1LDYuNDMxNjQwNkw4Ljg3MTA5MzgsMTVINy42MTEzMjgxbC0wLjkzNTU0NjktMi41ODAwNzgxaC0zLjYyNUwyLjA5MTc5NjksMTVIMC45Mjc3MzQ0bDMuMzM1OTM3NS04LjU2ODM1OTRINS41MjM0Mzc1eiBNNi4zMTU0Mjk3LDExLjQ1OTk2MDlMNC44ODc2OTUzLDcuNDYzODY3Mkg0Ljg2MzI4MTJsLTEuNDUxMTcxOSwzLjk5NjA5MzhINi4zMTU0Mjk3elwiLz48cGF0aCBkPVwiTTE1LjIxODc1LDYuNDMxNjQwNmMwLjE4NDU3MDMsMCwwLjM4MjgxMjUsMC4wMDE5NTMxLDAuNTk0NzI2NiwwLjAwNTg1OTRzMC40MjE4NzUsMC4wMTY2MDE2LDAuNjI5ODgyOCwwLjAzNzEwOTRjMC4yMDgwMDc4LDAuMDE5NTMxMiwwLjQwMjM0MzgsMC4wNDg4MjgxLDAuNTgyMDMxMiwwLjA4OTg0MzhjMC4xNzk2ODc1LDAuMDM5MDYyNSwwLjMzMzk4NDQsMC4wOTk2MDk0LDAuNDYxOTE0MSwwLjE3OTY4NzVjMC4yODAyNzM0LDAuMTY3OTY4OCwwLjUxODU1NDcsMC40MDAzOTA2LDAuNzEzODY3MiwwLjY5NTMxMjVjMC4xOTYyODkxLDAuMjk2ODc1LDAuMjkzOTQ1MywwLjY2MDE1NjIsMC4yOTM5NDUzLDEuMDkyNzczNGMwLDAuNDU2MDU0Ny0wLjExMDM1MTYsMC44NTA1ODU5LTAuMzI5MTAxNiwxLjE4MTY0MDZjLTAuMjIwNzAzMSwwLjMzMjAzMTItMC41MzUxNTYyLDAuNTc4MTI1LTAuOTQzMzU5NCwwLjczODI4MTJ2MC4wMjQ0MTQxYzAuNTI5Mjk2OSwwLjExMTMyODEsMC45MzI2MTcyLDAuMzUxNTYyNSwxLjIxMjg5MDYsMC43MTg3NWMwLjI3OTI5NjksMC4zNjkxNDA2LDAuNDE5OTIxOSwwLjgxNjQwNjIsMC40MTk5MjE5LDEuMzQ0NzI2NmMwLDAuMzExNTIzNC0wLjA1NjY0MDYsMC42MTYyMTA5LTAuMTY3OTY4OCwwLjkxMjEwOTRjLTAuMTEyMzA0NywwLjI5NTg5ODQtMC4yNzgzMjAzLDAuNTU3NjE3Mi0wLjQ5ODA0NjksMC43ODYxMzI4Yy0wLjIyMDcwMzEsMC4yMjc1MzkxLTAuNDkyMTg3NSwwLjQxMjEwOTQtMC44MTY0MDYyLDAuNTUxNzU3OFMxNi42NzU3ODEyLDE1LDE2LjI1MTk1MzEsMTVoLTQuMTQwNjI1VjYuNDMxNjQwNkgxNS4yMTg3NXogTTE1LjUzMTI1LDEwLjExNjIxMDljMC42NDg0Mzc1LDAsMS4xMTMyODEyLTAuMTE0MjU3OCwxLjM5ODQzNzUtMC4zNDI3NzM0YzAuMjgzMjAzMS0wLjIyNzUzOTEsMC40MjU3ODEyLTAuNTY5MzM1OSwwLjQyNTc4MTItMS4wMjUzOTA2YzAtMC4zMDQ2ODc1LTAuMDQ4ODI4MS0wLjU0Mzk0NTMtMC4xNDQ1MzEyLTAuNzIwNzAzMWMtMC4wOTU3MDMxLTAuMTc1NzgxMi0wLjIyNzUzOTEtMC4zMTE1MjM0LTAuMzk1NTA3OC0wLjQwNzIyNjZjLTAuMTY3OTY4OC0wLjA5NjY3OTctMC4zNjIzMDQ3LTAuMTU4MjAzMS0wLjU4MjAzMTItMC4xODY1MjM0QzE2LjAxMzY3MTksNy40MDYyNSwxNS43NzkyOTY5LDcuMzkyNTc4MSwxNS41MzEyNSw3LjM5MjU3ODFoLTIuMjc5Mjk2OXYyLjcyMzYzMjhIMTUuNTMxMjV6IE0xNi4xMDc0MjE5LDE0LjA0MDAzOTFjMC41MDM5MDYyLDAsMC44OTg0Mzc1LTAuMTM1NzQyMiwxLjE4MTY0MDYtMC40MDgyMDMxYzAuMjg0MTc5Ny0wLjI3MTQ4NDQsMC40MjU3ODEyLTAuNjQ3NDYwOSwwLjQyNTc4MTItMS4xMjc5Mjk3YzAtMC4yNzkyOTY5LTAuMDUxNzU3OC0wLjUxMTcxODgtMC4xNTYyNS0wLjY5NTMxMjVjLTAuMTAzNTE1Ni0wLjE4NDU3MDMtMC4yNDEyMTA5LTAuMzMwMDc4MS0wLjQxMzA4NTktMC40Mzg0NzY2Yy0wLjE3Mjg1MTYtMC4xMDgzOTg0LTAuMzcwMTE3Mi0wLjE4NDU3MDMtMC41OTQ3MjY2LTAuMjI3NTM5MWMtMC4yMjM2MzI4LTAuMDQ0OTIxOS0wLjQ1NTA3ODEtMC4wNjY0MDYyLTAuNjk1MzEyNS0wLjA2NjQwNjJoLTIuNjAzNTE1NnYyLjk2Mzg2NzJIMTYuMTA3NDIxOXpcIi8+PC9nPjwvc3ZnPicpO1xuICB9XG5cbiAgLy8gRmlsdGVyIHNvcnRcblxuICAmLnNvcnRkb3duIHtcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAgLmVuY29kZWQtc3ZnLWJhY2tncm91bmQoJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIiB4PVwiMFwiIHk9XCIwXCIgdmlld0JveD1cIi0yMzggMjQwIDIyIDIyXCIgeG1sOnNwYWNlPVwicHJlc2VydmVcIj48c3R5bGUgdHlwZT1cInRleHQvY3NzXCI+LnN0MHtmaWxsOkB7dGhlbWVDb2xvcn08L3N0eWxlPjxwb2x5Z29uIGNsYXNzPVwic3QwXCIgcG9pbnRzPVwiLTIzMCAyNTYuNCAtMjMwLjcgMjU1LjcgLTIzMyAyNTguMSAtMjMzIDI0MiAtMjM0IDI0MiAtMjM0IDI1OC4xIC0yMzYuMyAyNTUuNyAtMjM3IDI1Ni40IC0yMzMuNSAyNjAgLTIzMy41IDI2MCAtMjMzLjUgMjYwIFwiLz48cGF0aCBjbGFzcz1cInN0MFwiIGQ9XCJNLTIyNiAyNDkuNTVMLTIyMy4xIDI0MmgxLjA4bDMuMDkgNy41NWgtMS4xNGwtMC44OC0yLjI5aC0zLjE2bC0wLjgzIDIuMjlILTIyNnpNLTIyMy44MiAyNDYuNDVoMi41NmwtMC43OS0yLjA5Yy0wLjI0LTAuNjQtMC40Mi0xLjE2LTAuNTQtMS41NyAtMC4xIDAuNDgtMC4yMyAwLjk3LTAuNDEgMS40NEwtMjIzLjgyIDI0Ni40NXpcIi8+PHBhdGggY2xhc3M9XCJzdDBcIiBkPVwiTS0yMjUuOTMgMjU5di0wLjkzbDMuODctNC44NGMwLjI4LTAuMzQgMC41NC0wLjY0IDAuNzgtMC45aC00LjIxdi0wLjg5aDUuNDF2MC44OWwtNC4yNCA1LjI0IC0wLjQ2IDAuNTNoNC44MlYyNTlILTIyNS45M3pcIi8+PC9zdmc+Jyk7XG4gIH1cbiAgJi5zb3J0dXAge1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIGhlaWdodDogMjJweDtcbiAgICAuZW5jb2RlZC1zdmctYmFja2dyb3VuZCgnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiIHg9XCIwXCIgeT1cIjBcIiB2aWV3Qm94PVwiLTIzOCAyNDAgMjIgMjJcIiB4bWw6c3BhY2U9XCJwcmVzZXJ2ZVwiPjxzdHlsZSB0eXBlPVwidGV4dC9jc3NcIj4uc3Qwe2ZpbGw6QHt0aGVtZUNvbG9yfX08L3N0eWxlPjxwb2x5Z29uIGNsYXNzPVwic3QwXCIgcG9pbnRzPVwiLTIzMy41IDI0MiAtMjMzLjUgMjQyIC0yMzMuNSAyNDIgLTIzNyAyNDUuNiAtMjM2LjMgMjQ2LjMgLTIzNCAyNDMuOSAtMjM0IDI2MCAtMjMzIDI2MCAtMjMzIDI0My45IC0yMzAuNyAyNDYuMyAtMjMwIDI0NS42IFwiLz48cGF0aCBjbGFzcz1cInN0MFwiIGQ9XCJNLTIyNi41MyAyNjBsMi45LTcuNTVoMS4wOEwtMjE5LjQ3IDI2MGgtMS4xNGwtMC44OC0yLjI5aC0zLjE2TC0yMjUuNDcgMjYwSC0yMjYuNTN6TS0yMjQuMzYgMjU2LjloMi41NmwtMC43OS0yLjA5Yy0wLjI0LTAuNjQtMC40Mi0xLjE2LTAuNTQtMS41NyAtMC4xIDAuNDgtMC4yMyAwLjk3LTAuNDEgMS40NEwtMjI0LjM2IDI1Ni45elwiLz48cGF0aCBjbGFzcz1cInN0MFwiIGQ9XCJNLTIyNS45NyAyNTAuNTV2LTAuOTNsMy44Ny00Ljg0YzAuMjgtMC4zNCAwLjU0LTAuNjQgMC43OC0wLjloLTQuMjFWMjQzaDUuNDF2MC44OWwtNC4yNCA1LjI0IC0wLjQ2IDAuNTNILTIyMHYwLjg5SC0yMjUuOTd6XCIvPjwvc3ZnPicpO1xuICB9XG5cbiAgLy8gRm9ybWF0c1xuXG4gICYuaWNvbi1mb3JtYXQtcGRmIHtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgLmVuY29kZWQtc3ZnLWJhY2tncm91bmQoJzxzdmcgdmVyc2lvbj1cIjEuMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB2aWV3Qm94PVwiLTMuMzYzIC0zLjY1OCAzMyAzM1wiIGhlaWdodD1cIjMzcHhcIiB3aWR0aD1cIjMzcHhcIiB5PVwiMHB4XCIgeD1cIjBweFwiIHhtbDpzcGFjZT1cInByZXNlcnZlXCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOkB7dGhlbWVDb2xvcn07fTwvc3R5bGU+PC9kZWZzPjxwYXRoIGNsYXNzPVwiY2xzLTFcIiBkPVwiTTguNTEyLDE0Ljk4OWMwLjgtMS41NjcsMS43MDktMy4zMzQsMi40MzgtNS4xMDdsMCwwbDAuMjg3LTAuNjk5ICBjLTAuOTQ5LTMuNjE2LTEuNTItNi41Mi0xLjAxMS04LjM5NmwwLDBDMTAuMzYyLDAuMjk3LDEwLjkyOSwwLDExLjUzNSwwbDAsMGwwLjM2OCwwLjAwNWgwLjA2OGMwLjgzLTAuMDEzLDEuMjIsMS4wNDIsMS4yNjQsMS40NTMgIGwwLDBjMC4wNzMsMC42ODQtMC4yNDIsMS44MzktMC4yNDIsMS44MzlsMCwwYzAtMC40NjcsMC4wMTgtMS4yMjEtMC4yNzYtMS44NzNsMCwwYy0wLjM0My0wLjc1My0wLjY3MS0xLjIwMy0wLjk2NS0xLjI3NGwwLDAgIEMxMS42MDQsMC4yNSwxMS40NiwwLjQ1NSwxMS40MTEsMC44NWwwLDBjLTAuMTA0LDAuNTUzLTAuMTM0LDEuMjUyLTAuMTM0LDEuNjExbDAsMGMwLDEuMjcyLDAuMjUsMi45NTIsMC43NDMsNC42ODRsMCwwICBjMC4wOTMtMC4yNjksMC4xNzQtMC41MjYsMC4yNC0wLjc2OGwwLDBjMC4xMDEtMC4zOCwwLjc0My0yLjksMC43NDMtMi45bDAsMGMwLDAtMC4xNjIsMy4zNTQtMC4zODgsNC4zNzFsMCwwICBjLTAuMDQ5LDAuMjE1LTAuMTAzLDAuNDI3LTAuMTU4LDAuNjQ0bDAsMGMwLjgxMiwyLjI2OCwyLjEyMSw0LjI5MiwzLjY4LDUuNzVsMCwwYzAuNjE1LDAuNTc1LDEuMzkzLDEuMDM4LDIuMTI4LDEuNDYxbDAsMCAgYzEuNjA1LTAuMjI5LDMuMDg0LTAuMzM4LDQuMzE4LTAuMzI0bDAsMGMxLjYzNywwLjAyMSwyLjgzOCwwLjI2NSwzLjMyNCwwLjc0M2wwLDBjMC4yMzcsMC4yMzIsMC4zMzUsMC41MTQsMC4zNjQsMC44M2wwLDAgIGMwLjAwNywwLjEyMi0wLjA1MywwLjQxLTAuMDY5LDAuNDgybDAsMGMwLjAxOC0wLjA4OCwwLjAxOC0wLjUxOS0xLjI5OC0wLjkzOGwwLDBjLTEuMDMzLTAuMzMtMi45NzEtMC4zMi01LjI5NS0wLjA3M2wwLDAgIGMyLjY4OCwxLjMxNSw1LjMwOCwxLjk2OSw2LjEzOCwxLjU3N2wwLDBjMC4yMDMtMC4xLDAuNDQ4LTAuNDM3LDAuNDQ4LTAuNDM3bDAsMGMwLDAtMC4xNDYsMC42NjUtMC4yNTIsMC44MzFsMCwwICBjLTAuMTM0LDAuMTgtMC4zOTYsMC4zNzYtMC42NDYsMC40NGwwLDBjLTEuMzEyLDAuMzUxLTQuNzIyLTAuNDU5LTcuNjk1LTIuMTU4bDAsMGMtMy4zMjIsMC40ODktNi45NzIsMS4zOTQtOS44OTYsMi4zNTRsMCwwICBjLTIuODc0LDUuMDM2LTUuMDM2LDcuMzUtNi43OTMsNi40N2wwLDBsLTAuNjQ2LTAuMzI1Yy0wLjI2My0wLjE0OS0wLjMwMy0wLjUxNi0wLjI0Mi0wLjgxM2wwLDAgIGMwLjIwNS0xLjAwMywxLjQ2Mi0yLjUxMywzLjk4OC00LjAyMWwwLDBjMC4yNzItMC4xNjUsMS40ODMtMC44MDUsMS40ODMtMC44MDVsMCwwYzAsMC0wLjg5NiwwLjg2OC0xLjEwNiwxLjAzOGwwLDAgIGMtMi4wMTYsMS42NTItMy41MDQsMy43My0zLjQ2Nyw0LjUzNmwwLDBsMC4wMDcsMC4wNjlDMi42NDMsMjQuOTM2LDUuMjEsMjEuNDUsOC41MTIsMTQuOTg5IE05LjU1OSwxNS41MjUgIGMtMC41NTEsMS4wMzgtMS4wOSwyLjAwMS0xLjU4OCwyLjg4NmwwLDBjMi43NTItMS4xNTMsNS43MTUtMS44OTIsOC41MzUtMi40MTZsMCwwYy0wLjM3OS0wLjI2Mi0wLjc0Ni0wLjUzOS0xLjA5My0wLjgzMmwwLDAgIGMtMS41NTUtMS4zMTMtMi43MzctMi45NTUtMy41OTYtNC42ODFsMCwwQzExLjI3MywxMS45NDgsMTAuNjI2LDEzLjUwNyw5LjU1OSwxNS41MjVcIiAvPjwvc3ZnPicpO1xuICB9XG4gICYuaWNvbi1mb3JtYXQtcGRmYSB7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIC5lbmNvZGVkLXN2Zy1iYWNrZ3JvdW5kKCc8c3ZnIHZlcnNpb249XCIxLjFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgdmlld0JveD1cIjAgMCAzMyAzM1wiIGhlaWdodD1cIjMzcHhcIiB3aWR0aD1cIjMzcHhcIiB5PVwiMHB4XCIgeD1cIjBweFwiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDpAe3RoZW1lQ29sb3J9O308L3N0eWxlPjwvZGVmcz48cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMTEuODc1IDE4LjY0OEwxMS45NjE3IDE4LjQ3ODNDMTIuNzQwMSAxNi45NTQgMTMuNjEwMiAxNS4yNTAzIDE0LjMxMiAxMy41NDFMMTQuNiAxMi44NDFDMTMuNjUgOS4yMjUgMTMuMDggNi4zMjIgMTMuNTg5IDQuNDQ1QzEzLjcyNiAzLjk1NiAxNC4yOTMgMy42NTkgMTQuODk5IDMuNjU5TDE1LjI2OCAzLjY2NEgxNS4zMzZDMTYuMTY2IDMuNjUxIDE2LjU1NiA0LjcwNiAxNi42IDUuMTE3QzE2LjY3MyA1LjggMTYuMzU3IDYuOTU2IDE2LjM1NyA2Ljk1NkwxNi4zNTcxIDYuODc5NDZDMTYuMzU4IDYuNDA5NDQgMTYuMzU5NCA1LjcwMDQ3IDE2LjA4MSA1LjA4M0MxNS43MzggNC4zMyAxNS40MSAzLjg3OSAxNS4xMTYgMy44MDhDMTQuOTY4IDMuOTA3IDE0LjgyNCA0LjExMiAxNC43NzQgNC41MDdDMTQuNjcxIDUuMDYgMTQuNjQxIDUuNzU5IDE0LjY0MSA2LjExOUMxNC42NDEgNy4zOTEgMTQuODkxIDkuMDcxIDE1LjM4NCAxMC44MDJDMTUuNDc3IDEwLjUzNCAxNS41NTggMTAuMjc2IDE1LjYyNCAxMC4wMzVDMTUuNzI1IDkuNjU1IDE2LjM2NyA3LjEzNCAxNi4zNjcgNy4xMzRDMTYuMzY3IDcuMTM0IDE2LjIwNSAxMC40ODkgMTUuOTc5IDExLjUwNUMxNS45MzEgMTEuNzIgMTUuODc3IDExLjkzMiAxNS44MjEgMTIuMTQ5QzE2LjYzMyAxNC40MTcgMTcuOTQyIDE2LjQ0MSAxOS41MDEgMTcuODk5QzE5Ljk0NjcgMTguMzE1NyAyMC40Nzc5IDE4LjY3MzUgMjEuMDE2NCAxOUgyOUMzMC4xMDQ2IDE5IDMxIDE5Ljg5NTQgMzEgMjFWMjlDMzEgMzAuMTA0NiAzMC4xMDQ2IDMxIDI5IDMxSDE3QzE1Ljg5NTQgMzEgMTUgMzAuMTA0NiAxNSAyOVYyMS41NDkyQzEzLjYxNTYgMjEuOTAxOSAxMi4yODA3IDIyLjI4OTYgMTEuMDcgMjIuNjg3QzguMTk1OTkgMjcuNzI0IDYuMDM0OTkgMzAuMDM4IDQuMjc2OTkgMjkuMTU4TDMuNjI5OTkgMjguODMzQzMuMzY2OTkgMjguNjgzIDMuMzI2OTkgMjguMzE3IDMuMzg3OTkgMjguMDJDMy41OTI5OSAyNy4wMTcgNC44NDk5OSAyNS41MDcgNy4zNzU5OSAyMy45OTlDNy42NDc5OSAyMy44MzQgOC44NTg5OSAyMy4xOTQgOC44NTg5OSAyMy4xOTRDOC44NTg5OSAyMy4xOTQgNy45NjI5OSAyNC4wNjIgNy43NTI5OSAyNC4yMzJDNS43MzY5OSAyNS44ODQgNC4yNDg5OSAyNy45NjIgNC4yODU5OSAyOC43NjhMNC4yOTI5OSAyOC44MzdDNi4wMDQ5OSAyOC41OTQgOC41NzI5OSAyNS4xMDkgMTEuODc1IDE4LjY0OFpNMTguNzc1IDE4LjgyMkMxOC44NDYxIDE4Ljg4MiAxOC45MTggMTguOTQxMyAxOC45OTA2IDE5SDE3QzE1Ljk2ODEgMTkgMTUuMTE4NyAxOS43ODE1IDE1LjAxMTQgMjAuNzg1QzEzLjc2NDggMjEuMTQ2IDEyLjUyOSAyMS41Njg5IDExLjMzMyAyMi4wN0MxMS44MzEgMjEuMTg1IDEyLjM3IDIwLjIyMiAxMi45MjEgMTkuMTg0QzEzLjk4OSAxNy4xNjYgMTQuNjM2IDE1LjYwNyAxNS4xOCAxNC4xNDFDMTYuMDM4IDE1Ljg2NyAxNy4yMjEgMTcuNTA4IDE4Ljc3NSAxOC44MjJaTTIxLjU1NTMgMjcuMzUyMUgyNC40NDQ3TDI0Ljk5OTUgMjlIMjYuNzUxOEwyMy43NTgxIDIxLjAwMkgyMi4yMzFMMTkuMjUzNyAyOUgyMS4wMDZMMjEuNTU1MyAyNy4zNTIxWk0yMy45OTk4IDI2LjAxNzJIMjIuMDAwMkwyMi45OTQ1IDIzLjAyMzRMMjMuOTk5OCAyNi4wMTcyWlwiIGNsYXNzPVwiY2xzLTFcIi8+PC9zdmc+Jyk7XG4gIH1cbiAgJi5pY29uLWZvcm1hdC14bHN4IHtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgLmVuY29kZWQtc3ZnLWJhY2tncm91bmQoJzxzdmcgdmVyc2lvbj1cIjEuMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB4PVwiMHB4XCIgeT1cIjBweFwiIHdpZHRoPVwiNjNcIiBoZWlnaHQ9XCI2M1wiIHZpZXdCb3g9XCIxNi4yODcgMzIuNDUgNjMuMDAwMDAyIDYzXCIgeG1sOnNwYWNlPVwicHJlc2VydmVcIiA+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOkB7dGhlbWVDb2xvcn07fTwvc3R5bGU+PC9kZWZzPjxwYXRoIGNsYXNzPVwiY2xzLTFcIiBkPVwibSA1My43NzQsNDMuNzI1IGMgMi44MjUsLTAuMiA1LjY2MywtMC4zNzUgOC41LC0wLjUxMiAtMy4zMzcsNi44MzcgLTYuNjg4LDEzLjY3NSAtMTAuMDg3LDIwLjQ4NyAzLjQzOCw3IDYuOTUsMTMuOTUgMTAuMzk5LDIwLjk1IC0zLjAxMiwtMC4xNzUgLTYuMDEyLC0wLjM2MiAtOS4wMjQsLTAuNTc1IC0yLjEyNSwtNS4yMTMgLTQuNzEzLC0xMC4yNSAtNi4yMzcsLTE1LjcgLTEuNyw1LjA3NSAtNC4xMjUsOS44NjIgLTYuMDc1LDE0LjgzOCAtMi43MzcsLTAuMDM4IC01LjQ3NiwtMC4xNSAtOC4yMTMsLTAuMjYzIDMuMjEyLC02LjI4NyA2LjMxMiwtMTIuNjI0IDkuNjI0LC0xOC44NzQgLTIuODEzLC02LjQzOCAtNS44OTksLTEyLjc1IC04LjgsLTE5LjE1IDIuNzUsLTAuMTYzIDUuNSwtMC4zMjUgOC4yNSwtMC40NzUgMS44NjIsNC44ODggMy45LDkuNzEyIDUuNDM4LDE0LjcyNSAxLjY1LC01LjMxMyA0LjExMiwtMTAuMzEzIDYuMjI1LC0xNS40NTEgelwiIC8+PC9zdmc+Jyk7XG4gIH1cbiAgJi5pY29uLWZvcm1hdC14bHR4IHtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgLmVuY29kZWQtc3ZnLWJhY2tncm91bmQoJzxzdmcgdmVyc2lvbj1cIjEuMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB3aWR0aD1cIjMzXCIgaGVpZ2h0PVwiMzNcIiB2aWV3Qm94PVwiMCAwIDMzIDMzXCIgeG1sOnNwYWNlPVwicHJlc2VydmVcIiA+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOkB7dGhlbWVDb2xvcn07fTwvc3R5bGU+PGNsaXBQYXRoIGlkPVwiY2xpcC14bHR4XCI+PHJlY3Qgd2lkdGg9XCIzM1wiIGhlaWdodD1cIjMzXCIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGlkPVwieGx0eFwiIGNsaXAtcGF0aD1cInVybCgjY2xpcC14bHR4KVwiPjxyZWN0IGlkPVwiUmVjdGFuZ2xlXzIwXCIgZGF0YS1uYW1lPVwiUmVjdGFuZ2xlIDIwXCIgd2lkdGg9XCIzM1wiIGhlaWdodD1cIjMzXCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggaWQ9XCJQYXRoXzE5XCIgZGF0YS1uYW1lPVwiUGF0aCAxOVwiIGQ9XCJNNTE2LjUyNywxMTkuMjIycTIuMTUxLS4xMzEsNC4zMTQtLjIyMi0yLjU0LDQuNDU1LTUuMTE5LDguOWMxLjc0NCwzLjA0LDMuNTI4LDYuMDYsNS4yNzgsOS4xLTEuNTI4LS4wNzYtMy4wNTItLjE1OC00LjU4MS0uMjUxYTU4Ljk4LDU4Ljk4LDAsMCwxLTMuMTY2LTYuODE5Yy0uODYyLDIuMi0yLjA5NCw0LjI4NC0zLjA4NCw2LjQ0NS0xLjM4OS0uMDE3LTIuNzc5LS4wNjYtNC4xNjgtLjExNCwxLjYzLTIuNzMyLDMuMi01LjQ4NCw0Ljg4NS04LjItMS40MjgtMi44LTIuOTk0LTUuNTQtNC40NjctOC4zMTlxMi4wOTUtLjEwNiw0LjE4OC0uMjA2Yy45NDUsMi4xMjMsMS45OCw0LjIxOCwyLjc2LDYuNEM1MTQuMjA1LDEyMy42MjYsNTE1LjQ1NCwxMjEuNDU0LDUxNi41MjcsMTE5LjIyMlpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTUwNCAtMTE3KVwiIGNsYXNzPVwiY2xzLTFcIi8+PGcgaWQ9XCJHcm91cF81XCIgZGF0YS1uYW1lPVwiR3JvdXAgNVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxNiAxNilcIj48cGF0aCBpZD1cIlBhdGhfNDRcIiBkYXRhLW5hbWU9XCJQYXRoIDQ0XCIgZD1cIk0xLjAxMSwwSDEzLjk4OUExLjAxMSwxLjAxMSwwLDAsMSwxNSwxLjAxMVYxMy45ODlBMS4wMTEsMS4wMTEsMCwwLDEsMTMuOTg5LDE1SDEuMDExQTEuMDExLDEuMDExLDAsMCwxLDAsMTMuOTg5VjEuMDExQTEuMDExLDEuMDExLDAsMCwxLDEuMDExLDBaXCIgY2xhc3M9XCJjbHMtMVwiLz48cGF0aCBpZD1cIlBhdGhfMzlcIiBkYXRhLW5hbWU9XCJQYXRoIDM5XCIgZD1cIk01Ljc5NCwxMy4yNVYzLjkxMUg5LjI1OFYyLjI1aC05VjMuOTExSDMuNzI5VjEzLjI1WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgyLjc0MiAtMC4yNSlcIiBmaWxsPVwiI2ZmZlwiLz48L2c+PC9nPjwvc3ZnPicpO1xuICB9XG4gICYuaWNvbi1mb3JtYXQtb2RzIHtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgLmVuY29kZWQtc3ZnLWJhY2tncm91bmQoJzxzdmcgdmVyc2lvbj1cIjEuMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB2aWV3Qm94PVwiMCAtNTQuMTEgMTkzLjYzMSAxOTMuNjNcIiBoZWlnaHQ9XCIxOTMuNjNweFwiIHdpZHRoPVwiMTkzLjYzMXB4XCIgeT1cIjBweFwiIHg9XCIwcHhcIiB4bWw6c3BhY2U9XCJwcmVzZXJ2ZVwiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDpAe3RoZW1lQ29sb3J9O308L3N0eWxlPjwvZGVmcz48cGF0aCBkPVwiTTE5My4xNiw1LjYxNVY1LjYwOWMtMC4zMzQtMC4xNzMtMC42NzEtMC4zMzQtMS4wMDUtMC40OTcgIGMtNS4zNTYtMi41ODYtMTEuMjU2LTQuMjg3LTE3LjUyNS00Ljg4Yy0xMS4wODMtMS4wNDktMjEuNjczLDEuNDk2LTMwLjYyMiw2LjY3OGMtNi4xMy0zLjQ3Ny0xMy4wNzEtNS43NDEtMjAuNTQyLTYuNDQ4ICBjLTEwLjI5OC0wLjk3NC0yMC4xNywxLjE2LTI4LjY5Nyw1LjYyOWMtMC4wODQsMC4wNDQtMC4xNywwLjA5NS0wLjI1MSwwLjEzNWMtMC4yMDcsMC4xNjItMC4zNDcsMC40MTQtMC4zNDcsMC42OTcgIGMwLDAuNDkyLDAuMzkyLDAuODksMC44ODksMC44OWMwLjA0NiwwLDAuMDkxLTAuMDA3LDAuMTM5LTAuMDE3YzAuMDIxLTAuMDAyLDAuMDQyLTAuMDExLDAuMDYxLTAuMDE1ICBjNC41ODYtMC44NDgsOS4zNjgtMS4wODgsMTQuMjQzLTAuNjI3YzEzLjY4NCwxLjI5MywyNS42MDksNS41MjEsMzMuOTc1LDE1LjAxMWMwLjQzNywwLjQ1NSwwLjgyMiwwLjQyNywxLjI2Ni0wLjAyNCAgYzEwLjUyMy0xMi4yLDI2LjY2Mi0xNy4wMjEsNDQuMDA2LTE1LjM4MmMwLjk2OCwwLjA5NCwxLjkyMSwwLjIxMywyLjg3MSwwLjM1NWMwLjMzLDAuMDUsMC44MzYsMC4xMzQsMS4xMzMsMC4xNjcgIGMwLjU3MiwwLjA2MywwLjg4LTAuMzk3LDAuODgtMC44OTFDMTkzLjYyOSw2LjA1NiwxOTMuNDg1LDUuNzc2LDE5My4xNiw1LjYxNUwxOTMuMTYsNS42MTV6XCIgY2xhc3M9XCJjbHMtMVwiIC8+PHBhdGggZD1cIk0xNzMuMDU0LDQ4LjU0NGMtMC4wNTctMC4wMjgtMC4xMDctMC4wNDYtMC4xNTQtMC4wNjUgIGMtMTAuNTE4LTQuMzUtMjIuMDIxLTYuNzU4LTM0LjA5NC02Ljc1OGMtMTkuMjkzLDAtMzcuMTU0LDYuMTI3LTUxLjc1NywxNi41MjRjLTExLjE0Ni00Ljk5My0yMy40OTctNy43NzYtMzYuNDk2LTcuNzc2ICBjLTE4LjQ4NSwwLTM1LjY0OCw1LjYxNy00OS44OTUsMTUuMjM3Yy0wLjA0NywwLjAyOS0wLjA5NSwwLjA2Ni0wLjE0OSwwLjEwNEMwLjIwNSw2Ni4wNDQsMCw2Ni40MTgsMCw2Ni44NDggIGMwLDAuNzI5LDAuNTkyLDEuMzIzLDEuMzIzLDEuMzIzYzAuMDg2LDAsMC4xNzQtMC4wMTMsMC4yNTktMC4wM2MwLjA1OC0wLjAxNSwwLjEwNy0wLjAyNywwLjE2MS0wLjA0OCAgYzguMTY2LTIuNDU2LDE2LjgzMi0zLjc5MSwyNS43OTgtMy43OTFjMjMuODM2LDAsNDUuMDgzLDUuNjM0LDYxLjA4LDIwLjY4MWMwLjAzOCwwLjAyOCwwLjA3MSwwLjA2NSwwLjExMSwwLjEwNCAgYzAuMjMyLDAuMjA1LDAuNTMsMC4zMjUsMC44NjMsMC4zMjVjMC40MTIsMCwwLjc3NC0wLjE4OCwxLjAxOC0wLjQ4NmMwLjAwNiwwLjAwNSwwLjUxNS0wLjcyLDAuNzczLTEuMDY5ICBjMTYuMjQ2LTIyLjIxNyw0My4wMy0zMy4xNzIsNzIuODQ1LTMzLjE3MmMyLjEyOSwwLDQuMjQ2LDAuMDgsNi4zMzgsMC4yMjVjMC42MDIsMC4wNDcsMS44NzMsMC4xNDQsMS45MDIsMC4xNDQgIGMwLjcyNywwLDEuMzIyLTAuNTkxLDEuMzIyLTEuMzIzQzE3My43OTYsNDkuMjAzLDE3My40OTIsNDguNzUyLDE3My4wNTQsNDguNTQ0TDE3My4wNTQsNDguNTQ0elwiIGNsYXNzPVwiY2xzLTFcIiAvPjwvc3ZnPicpO1xuICB9XG4gICYuaWNvbi1mb3JtYXQtb3RzIHtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgLmVuY29kZWQtc3ZnLWJhY2tncm91bmQoJzxzdmcgdmVyc2lvbj1cIjEuMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB3aWR0aD1cIjMzXCIgaGVpZ2h0PVwiMzNcIiB2aWV3Qm94PVwiMCAwIDMzIDMzXCI+PGRlZnM+PGNsaXBQYXRoIGlkPVwiY2xpcC1vdHNcIj48cmVjdCB3aWR0aD1cIjMzXCIgaGVpZ2h0PVwiMzNcIi8+PC9jbGlwUGF0aD48c3R5bGU+LmNscy0xe2ZpbGw6QHt0aGVtZUNvbG9yfTt9PC9zdHlsZT48L2RlZnM+PGcgaWQ9XCJvdHNcIiBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAtb3RzKVwiPjxyZWN0IGlkPVwiUmVjdGFuZ2xlXzIwXCIgZGF0YS1uYW1lPVwiUmVjdGFuZ2xlIDIwXCIgd2lkdGg9XCIzM1wiIGhlaWdodD1cIjMzXCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggaWQ9XCJQYXRoXzMzXCIgZGF0YS1uYW1lPVwiUGF0aCAzM1wiIGQ9XCJNMTI1LjE3MywxMjFoMGMtLjA0Ni0uMDMtLjA5My0uMDU5LS4xNDEtLjA4OGE2LjEzMyw2LjEzMywwLDAsMC0yLjQ2Ny0uODY5LDYuMDE0LDYuMDE0LDAsMCwwLTQuMzA5LDEuMTg4LDYuMjIzLDYuMjIzLDAsMCwwLTIuODkyLTEuMTQ3LDUuOTY1LDUuOTY1LDAsMCwwLTQuMDM5LDFsLS4wMzYuMDI0YS4xNzYuMTc2LDAsMCwwLS4wNDkuMTI1LjE0NS4xNDUsMCwwLDAsLjEyNi4xNThsLjAxOSwwYS4wMTkuMDE5LDAsMCwwLC4wMDksMCw1Ljc4MSw1Ljc4MSwwLDAsMSwyLjAwNS0uMTExLDYuNDEsNi40MSwwLDAsMSw0Ljc4MiwyLjY2OWMuMDYuMDgxLjExNS4wNzYuMTc4LDBhNi4yODgsNi4yODgsMCwwLDEsNi4xOTQtMi43MzVjLjEzNi4wMTcuMjcuMDM4LjQuMDY0LjA0Ny4wMDkuMTE5LjAyNC4xNjEuMDMuMDguMDExLjEyMy0uMDcxLjEyMy0uMTU5QS4xNTUuMTU1LDAsMCwwLDEyNS4xNzMsMTIxWlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtOTQuMjQgLTExNilcIiBjbGFzcz1cImNscy0xXCIvPjxwYXRoIGlkPVwiUGF0aF8zNFwiIGRhdGEtbmFtZT1cIlBhdGggMzRcIiBkPVwiTTEyNi44OTQsMTI1Ljk3OGEuMTc1LjE3NSwwLDAsMC0uMDIyLS4wMTEsMTEuNjg2LDExLjY4NiwwLDAsMC00LjkwNS0xLjA4MiwxMS45MjQsMTEuOTI0LDAsMCwwLTcuNDQ0LDIuNjQ3LDExLjcyNSwxMS43MjUsMCwwLDAtNS4yNTEtMS4yNDUsMTEuODg0LDExLjg4NCwwLDAsMC03LjE3NiwyLjQ0MS4yMjkuMjI5LDAsMCwwLS4wMjIuMDE2LjIxNy4yMTcsMCwwLDAtLjA3My4xNjcuMi4yLDAsMCwwLC4xOTEuMjExLjE2Ny4xNjcsMCwwLDAsLjAzNywwLC4xMTguMTE4LDAsMCwwLC4wMjMtLjAwOCwxMS42NzksMTEuNjc5LDAsMCwxLDMuNzEtLjYwOGMzLjQyOSwwLDYuNDg2LjksOC43ODcsMy4zMTVhLjA5My4wOTMsMCwwLDEsLjAxNi4wMTYuMTcyLjE3MiwwLDAsMCwuMTIzLjA1Mi4xOC4xOCwwLDAsMCwuMTQ3LS4wNzhzLjA3NS0uMTE1LjExMS0uMTcxYTEyLjEsMTIuMSwwLDAsMSwxMC40NzktNS4zMTVjLjMwNiwwLC42MTEuMDE0LjkxMi4wMzdsLjI3My4wMjJhLjIuMiwwLDAsMCwuMTkxLS4yMTFBLjIxMS4yMTEsMCwwLDAsMTI2Ljg5NCwxMjUuOTc4WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMTAwIC0xMTUuODg1KVwiIGNsYXNzPVwiY2xzLTFcIi8+PGcgaWQ9XCJHcm91cF81XCIgZGF0YS1uYW1lPVwiR3JvdXAgNVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxNiAxNilcIj48cGF0aCBpZD1cIlBhdGhfNDRcIiBkYXRhLW5hbWU9XCJQYXRoIDQ0XCIgZD1cIk0xLjAxMSwwSDEzLjk4OUExLjAxMSwxLjAxMSwwLDAsMSwxNSwxLjAxMVYxMy45ODlBMS4wMTEsMS4wMTEsMCwwLDEsMTMuOTg5LDE1SDEuMDExQTEuMDExLDEuMDExLDAsMCwxLDAsMTMuOTg5VjEuMDExQTEuMDExLDEuMDExLDAsMCwxLDEuMDExLDBaXCIgY2xhc3M9XCJjbHMtMVwiLz48cGF0aCBpZD1cIlBhdGhfMzlcIiBkYXRhLW5hbWU9XCJQYXRoIDM5XCIgZD1cIk01Ljc5NCwxMy4yNVYzLjkxMUg5LjI1OFYyLjI1aC05VjMuOTExSDMuNzI5VjEzLjI1WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgyLjc0MiAtMC4yNSlcIiBmaWxsPVwiI2ZmZlwiLz48L2c+PC9nPjwvc3ZnPicpO1xuICB9XG4gICYuaWNvbi1mb3JtYXQtY3N2IHtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgLmVuY29kZWQtc3ZnLWJhY2tncm91bmQoJzxzdmcgdmVyc2lvbj1cIjEuMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB2aWV3Qm94PVwiMCAwIDU4IDU4XCIgaGVpZ2h0PVwiNThweFwiIHdpZHRoPVwiNThweFwiIHk9XCIwcHhcIiB4PVwiMHB4XCIgeG1sOnNwYWNlPVwicHJlc2VydmVcIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6QHt0aGVtZUNvbG9yfTt9PC9zdHlsZT48L2RlZnM+PHJlY3QgaGVpZ2h0PVwiMVwiIHdpZHRoPVwiOVwiIGNsYXNzPVwiY2xzLTFcIiB5PVwiNDIuNVwiIHg9XCIxMy41XCIgLz48cmVjdCBoZWlnaHQ9XCIxXCIgd2lkdGg9XCI5XCIgY2xhc3M9XCJjbHMtMVwiIHk9XCIzOC41XCIgeD1cIjEzLjVcIiAvPjxyZWN0IGhlaWdodD1cIjFcIiB3aWR0aD1cIjlcIiBjbGFzcz1cImNscy0xXCIgeT1cIjM0LjVcIiB4PVwiMTMuNVwiIC8+PHJlY3QgaGVpZ2h0PVwiMVwiIHdpZHRoPVwiOVwiIGNsYXNzPVwiY2xzLTFcIiB5PVwiMzAuNVwiIHg9XCIxMy41XCIgLz48cmVjdCBoZWlnaHQ9XCIxXCIgd2lkdGg9XCI5XCIgY2xhc3M9XCJjbHMtMVwiIHk9XCIyNi41XCIgeD1cIjEzLjVcIiAvPjxyZWN0IGhlaWdodD1cIjFcIiB3aWR0aD1cIjlcIiBjbGFzcz1cImNscy0xXCIgeT1cIjIyLjVcIiB4PVwiMTMuNVwiIC8+PHJlY3QgaGVpZ2h0PVwiMVwiIHdpZHRoPVwiOVwiIGNsYXNzPVwiY2xzLTFcIiB5PVwiMTguNVwiIHg9XCIxMy41XCIgLz48cmVjdCBoZWlnaHQ9XCIxXCIgd2lkdGg9XCI5XCIgY2xhc3M9XCJjbHMtMVwiIHk9XCIxNC41XCIgeD1cIjEzLjVcIiAvPjxyZWN0IGhlaWdodD1cIjFcIiB3aWR0aD1cIjlcIiBjbGFzcz1cImNscy0xXCIgeT1cIjQyLjVcIiB4PVwiMjQuNVwiIC8+PHJlY3QgaGVpZ2h0PVwiMVwiIHdpZHRoPVwiOVwiIGNsYXNzPVwiY2xzLTFcIiB5PVwiMzguNVwiIHg9XCIyNC41XCIgLz48cmVjdCBoZWlnaHQ9XCIxXCIgd2lkdGg9XCI5XCIgY2xhc3M9XCJjbHMtMVwiIHk9XCIzNC41XCIgeD1cIjI0LjVcIiAvPjxyZWN0IGhlaWdodD1cIjFcIiB3aWR0aD1cIjlcIiBjbGFzcz1cImNscy0xXCIgeT1cIjMwLjVcIiB4PVwiMjQuNVwiIC8+PHJlY3QgaGVpZ2h0PVwiMVwiIHdpZHRoPVwiOVwiIGNsYXNzPVwiY2xzLTFcIiB5PVwiMjYuNVwiIHg9XCIyNC41XCIgLz48cmVjdCBoZWlnaHQ9XCIxXCIgd2lkdGg9XCI5XCIgY2xhc3M9XCJjbHMtMVwiIHk9XCIyMi41XCIgeD1cIjI0LjVcIiAvPjxyZWN0IGhlaWdodD1cIjFcIiB3aWR0aD1cIjlcIiBjbGFzcz1cImNscy0xXCIgeT1cIjE4LjVcIiB4PVwiMjQuNVwiIC8+PHJlY3QgaGVpZ2h0PVwiMVwiIHdpZHRoPVwiOVwiIGNsYXNzPVwiY2xzLTFcIiB5PVwiMTQuNVwiIHg9XCIyNC41XCIgLz48cmVjdCBoZWlnaHQ9XCIxXCIgd2lkdGg9XCI5XCIgY2xhc3M9XCJjbHMtMVwiIHk9XCI0Mi41XCIgeD1cIjM1LjVcIiAvPjxyZWN0IGhlaWdodD1cIjFcIiB3aWR0aD1cIjlcIiBjbGFzcz1cImNscy0xXCIgeT1cIjM4LjVcIiB4PVwiMzUuNVwiIC8+PHJlY3QgaGVpZ2h0PVwiMVwiIHdpZHRoPVwiOVwiIGNsYXNzPVwiY2xzLTFcIiB5PVwiMzQuNVwiIHg9XCIzNS41XCIgLz48cmVjdCBoZWlnaHQ9XCIxXCIgd2lkdGg9XCI5XCIgY2xhc3M9XCJjbHMtMVwiIHk9XCIzMC41XCIgeD1cIjM1LjVcIiAvPjxyZWN0IGhlaWdodD1cIjFcIiB3aWR0aD1cIjlcIiBjbGFzcz1cImNscy0xXCIgeT1cIjI2LjVcIiB4PVwiMzUuNVwiIC8+PHJlY3QgaGVpZ2h0PVwiMVwiIHdpZHRoPVwiOVwiIGNsYXNzPVwiY2xzLTFcIiB5PVwiMjIuNVwiIHg9XCIzNS41XCIgLz48cmVjdCBoZWlnaHQ9XCIxXCIgd2lkdGg9XCI5XCIgY2xhc3M9XCJjbHMtMVwiIHk9XCIxOC41XCIgeD1cIjM1LjVcIiAvPjxyZWN0IGhlaWdodD1cIjFcIiB3aWR0aD1cIjlcIiBjbGFzcz1cImNscy0xXCIgeT1cIjE0LjVcIiB4PVwiMzUuNVwiIC8+PC9zdmc+Jyk7XG4gIH1cbn1cblxuLy8gT3ZlcndyaXRlIGNvbG9yIGZvciB0b29sYmFyXG4ubmF2YmFyIHtcbiAgaS5pY29uIHtcbiAgICAmLmljb24tdW5kbyB7XG4gICAgICB3aWR0aDogMjJweDtcbiAgICAgIGhlaWdodDogMjJweDtcbiAgICAgIC5lbmNvZGVkLXN2Zy1iYWNrZ3JvdW5kKCc8c3ZnIHZlcnNpb249XCIxLjFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgeD1cIjBweFwiIHk9XCIwcHhcIiB2aWV3Qm94PVwiMCAwIDIyIDIyXCIgZmlsbD1cIkB7bmF2QmFySWNvbkNvbG9yfVwiPjxnPjxwYXRoIGQ9XCJNMjAsMTd2LTJjMC0xLjctMS4zLTMtMy0zSDMuN2wzLjQsMy40bC0xLjQsMS40bC01LjItNS4yTDAsMTFsMC41LTAuNmw1LjItNS4ybDEuNCwxLjRMMy43LDEwSDE3YzIuOCwwLDUsMi4yLDUsNXYySDIwelwiLz48L2c+PC9zdmc+Jyk7XG4gICAgfVxuICAgICYuaWNvbi1yZWRvIHtcbiAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgLmVuY29kZWQtc3ZnLWJhY2tncm91bmQoJzxzdmcgdmVyc2lvbj1cIjEuMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB4PVwiMHB4XCIgeT1cIjBweFwiIHZpZXdCb3g9XCIwIDAgMjIgMjJcIiBmaWxsPVwiQHtuYXZCYXJJY29uQ29sb3J9XCI+PGc+PHBhdGggZD1cIk0wLDE3di0yYzAtMi44LDIuMi01LDUtNWgxMy4zbC0zLjQtMy40bDEuNC0xLjRsNS4yLDUuMkwyMiwxMWwtMC41LDAuNmwtNS4yLDUuMmwtMS40LTEuNGwzLjQtMy40SDVjLTEuNywwLTMsMS4zLTMsM3YySDB6XCIvPjwvZz48L3N2Zz4nKTtcbiAgICB9XG4gICAgJi5pY29uLXNlYXJjaCB7XG4gICAgICB3aWR0aDogMjJweDtcbiAgICAgIGhlaWdodDogMjJweDtcbiAgICAgIC5lbmNvZGVkLXN2Zy1iYWNrZ3JvdW5kKCc8c3ZnIHZlcnNpb249XCIxLjFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgeD1cIjBweFwiIHk9XCIwcHhcIiB2aWV3Qm94PVwiMCAwIDIyIDIyXCIgZmlsbD1cIkB7bmF2QmFySWNvbkNvbG9yfVwiPjxnPjxwYXRoIGQ9XCJNMTkuNSwxNi44TDE2LDEzLjNjMC43LTEuMSwxLjEtMi40LDEuMS0zLjhDMTcsNS40LDEzLjYsMiw5LjUsMlMyLDUuNCwyLDkuNVM1LjQsMTcsOS41LDE3YzEuNCwwLDIuNy0wLjQsMy44LTEuMWwzLjUsMy41YzAuNywwLjcsMS45LDAuNywyLjYsMEMyMC4yLDE4LjcsMjAuMiwxNy42LDE5LjUsMTYuOHogTTkuNSwxNS4zYy0zLjIsMC01LjgtMi42LTUuOC01LjhzMi42LTUuOCw1LjgtNS44czUuOCwyLjYsNS44LDUuOFMxMi43LDE1LjMsOS41LDE1LjN6XCIvPjwvZz48L3N2Zz4nKTtcbiAgICB9XG4gICAgJi5pY29uLWJ1cmdlciB7XG4gICAgICB3aWR0aDogMjJweDtcbiAgICAgIGhlaWdodDogMjJweDtcbiAgICAgIC5lbmNvZGVkLXN2Zy1iYWNrZ3JvdW5kKCc8c3ZnIHZlcnNpb249XCIxLjFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgeD1cIjBweFwiIHk9XCIwcHhcIiB2aWV3Qm94PVwiLTggMSAyMiAyMlwiIGZpbGw9XCJAe25hdkJhckljb25Db2xvcn1cIj48Zz48cGF0aCBkPVwiTS02LDZ2MmgxOFY2SC02eiBNLTYsMTNoMTh2LTJILTZWMTN6IE0tNiwxOGgxOHYtMkgtNlYxOHpcIi8+PC9nPjwvc3ZnPicpO1xuICAgIH1cbiAgICAmLmljb24tcGx1cyB7XG4gICAgICB3aWR0aDogMjJweDtcbiAgICAgIGhlaWdodDogMjJweDtcbiAgICAgIC5lbmNvZGVkLXN2Zy1iYWNrZ3JvdW5kKCc8c3ZnIHZlcnNpb249XCIxLjFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgeD1cIjBweFwiIHk9XCIwcHhcIiB2aWV3Qm94PVwiMCAwIDIyIDIyXCIgZmlsbD1cIkB7bmF2QmFySWNvbkNvbG9yfVwiPjxnPjxwYXRoIGQ9XCJNMjEsMTJoLTl2OWgtMnYtOUgxdi0yaDlWMWgydjloOVYxMnpcIi8+PC9nPjwvc3ZnPicpO1xuICAgIH1cbiAgICAmLmljb24tZWRpdCB7XG4gICAgICB3aWR0aDogMjJweDtcbiAgICAgIGhlaWdodDogMjJweDtcbiAgICAgIC5lbmNvZGVkLXN2Zy1iYWNrZ3JvdW5kKCc8c3ZnIHZlcnNpb249XCIxLjFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgeD1cIjBweFwiIHk9XCIwcHhcIiB2aWV3Qm94PVwiMCAwIDIyIDIyXCIgZmlsbD1cIkB7bmF2QmFySWNvbkNvbG9yfVwiPjxnPjxwYXRoIGQ9XCJNMCwyMGgyMnYxSDBWMjB6XCIvPjxwb2x5Z29uIHBvaW50cz1cIjE3LjEsMy4xIDMuNSwxNi43IDMsMjAgNi4zLDE5LjUgMTkuOSw1LjkgXHRcIi8+PHBhdGggZD1cIk0yMC41LDUuM0wyMiwzLjhjMCwwLTAuMi0xLjItMC45LTEuOUMyMC40LDEuMSwxOS4yLDEsMTkuMiwxbC0xLjUsMS41TDIwLjUsNS4zelwiLz48L2c+PC9zdmc+Jyk7XG4gICAgfVxuICAgICYuaWNvbi1zZXR0aW5ncyB7XG4gICAgICB3aWR0aDogMjJweDtcbiAgICAgIGhlaWdodDogMjJweDtcbiAgICAgIC5lbmNvZGVkLXN2Zy1iYWNrZ3JvdW5kKCc8c3ZnIHZlcnNpb249XCIxLjFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgeD1cIjBweFwiIHk9XCIwcHhcIiB2aWV3Qm94PVwiMCAwIDIyIDIyXCIgZmlsbD1cIkB7bmF2QmFySWNvbkNvbG9yfVwiPjxnPjxwYXRoIGQ9XCJNMTIuMSwySDkuOUM5LjYsMiw5LjQsMi4yLDkuMywyLjVMOC44LDQuOWMwLDAuMi0wLjIsMC4zLTAuMywwLjNzLTAuMSwwLTAuMi0wLjFMNi4yLDMuOEM2LjEsMy43LDYsMy43LDUuOCwzLjdjLTAuMSwwLTAuMywwLTAuNCwwLjFMMy44LDUuNGMtMC4xLDAuMi0wLjIsMC41LDAsMC44bDEuMywyLjFjMC4xLDAuMiwwLjEsMC40LTAuMiwwLjVMMi41LDkuM0MyLjIsOS40LDIsOS42LDIsOS45djIuMmMwLDAuMywwLjIsMC41LDAuNSwwLjZsMi40LDAuNWMwLjMsMC4xLDAuNCwwLjMsMC4yLDAuNWwtMS4zLDIuMWMtMC4yLDAuMi0wLjEsMC42LDAuMSwwLjhsMS42LDEuNmMwLjEsMC4xLDAuMywwLjIsMC40LDAuMnMwLjIsMCwwLjMtMC4xTDguMywxN2MwLjEtMC4xLDAuMS0wLjEsMC4yLTAuMXMwLjMsMC4xLDAuMywwLjNsMC41LDIuM0M5LjQsMTkuOCw5LjYsMjAsOS45LDIwaDIuMmMwLjMsMCwwLjUtMC4yLDAuNi0wLjVsMC41LTIuNGMwLTAuMiwwLjEtMC4zLDAuMy0wLjNjMC4xLDAsMC4xLDAsMC4yLDAuMWwyLjEsMS4zYzAuMSwwLjEsMC4yLDAuMSwwLjMsMC4xYzAuMiwwLDAuMy0wLjEsMC40LTAuMmwxLjYtMS42YzAuMi0wLjIsMC4yLTAuNSwwLjEtMC44bC0xLjMtMi4xYy0wLjItMC4yLTAuMS0wLjUsMC4yLTAuNWwyLjQtMC41YzAuMy0wLjEsMC41LTAuMywwLjUtMC42VjkuOGMwLTAuMy0wLjItMC41LTAuNS0wLjZsLTIuNC0wLjVjLTAuMy0wLjEtMC40LTAuMy0wLjItMC41bDEuMy0yLjFjMC4yLTAuMiwwLjEtMC42LTAuMS0wLjhsLTEuNi0xLjZjLTAuMS0wLjEtMC4zLTAuMi0wLjQtMC4ycy0wLjIsMC0wLjMsMC4xbC0yLjEsMS4zQzEzLjYsNSwxMy42LDUsMTMuNSw1cy0wLjMtMC4xLTAuMy0wLjNsLTAuNS0yLjJDMTIuNiwyLjIsMTIuNCwyLDEyLjEsMkwxMi4xLDJ6IE0xMSwxNC41Yy0xLjksMC0zLjUtMS42LTMuNS0zLjVTOS4xLDcuNSwxMSw3LjVzMy41LDEuNiwzLjUsMy41UzEyLjksMTQuNSwxMSwxNC41TDExLDE0LjV6XCIvPjwvZz48L3N2Zz4nKTtcbiAgICB9XG4gICAgJi5pY29uLXByZXYge1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAuZW5jb2RlZC1zdmctYmFja2dyb3VuZCgnPHN2ZyB2ZXJzaW9uPVwiMS4xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHg9XCIwcHhcIiB5PVwiMHB4XCIgdmlld0JveD1cIjAgMCAyMiAyMlwiIGZpbGw9XCJAe25hdkJhckljb25Db2xvcn1cIj48Zz48cG9seWdvbiBwb2ludHM9XCI1LjEsMTAuOSAxMy45LDIgMTYsNC4xIDkuMiwxMS4xIDE2LDE3LjkgMTMuOSwyMCA1LjEsMTEuMiA1LDExLjEgXCIvPjwvZz48L3N2Zz4nKTtcbiAgICB9XG4gICAgJi5pY29uLW5leHQge1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAuZW5jb2RlZC1zdmctYmFja2dyb3VuZCgnPHN2ZyB2ZXJzaW9uPVwiMS4xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHg9XCIwcHhcIiB5PVwiMHB4XCIgdmlld0JveD1cIjAgMCAyMiAyMlwiIGZpbGw9XCJAe25hdkJhckljb25Db2xvcn1cIj48Zz48cG9seWdvbiBwb2ludHM9XCIxNi45LDEwLjkgOC4xLDIgNiw0LjEgMTIuOCwxMS4xIDYsMTcuOSA4LjEsMjAgMTYuOSwxMS4yIDE3LDExLjEgXCIvPjwvZz48L3N2Zz4nKTtcbiAgICB9XG4gICAgJi5pY29uLWV4cGFuZC1kb3duIHtcbiAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgLmVuY29kZWQtc3ZnLWJhY2tncm91bmQoJzxzdmcgdmVyc2lvbj1cIjEuMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB4PVwiMHB4XCIgeT1cIjBweFwiIHZpZXdCb3g9XCIwIDAgMjIgMjJcIiBmaWxsPVwiQHtuYXZCYXJJY29uQ29sb3J9XCI+PGc+PHBvbHlnb24gcG9pbnRzPVwiMTAuOSwxNi45IDIsOC4xIDQuMSw2IDExLjEsMTIuOCAxNy45LDYgMjAsOC4xIDExLjIsMTYuOSAxMS4xLDE3IFwiLz48L2c+PC9zdmc+Jyk7XG4gICAgfVxuICB9XG59XG5cbi5jaGFydC10eXBlcyAudGh1bWIge1xuICAmLmJhci1ub3JtYWwge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2NoYXJ0cy9jaGFydC0wMy5wbmcnKTtcbiAgfVxuICAmLmJhci1zdGFja2VkIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9jaGFydHMvY2hhcnQtMDIucG5nJyk7XG4gIH1cbiAgJi5iYXItcHN0YWNrZWQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2NoYXJ0cy9jaGFydC0wMS5wbmcnKTtcbiAgfVxuICAmLmxpbmUtbm9ybWFsIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9jaGFydHMvY2hhcnQtMDYucG5nJyk7XG4gIH1cbiAgJi5saW5lLXN0YWNrZWQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2NoYXJ0cy9jaGFydC0wNS5wbmcnKTtcbiAgfVxuICAmLmxpbmUtcHN0YWNrZWQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2NoYXJ0cy9jaGFydC0wNC5wbmcnKTtcbiAgfVxuICAmLmhiYXItbm9ybWFsIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9jaGFydHMvY2hhcnQtMDkucG5nJyk7XG4gIH1cbiAgJi5oYmFyLXN0YWNrZWQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2NoYXJ0cy9jaGFydC0wOC5wbmcnKTtcbiAgfVxuICAmLmhiYXItcHN0YWNrZWQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2NoYXJ0cy9jaGFydC0wNy5wbmcnKTtcbiAgfVxuICAmLmFyZWEtbm9ybWFsIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9jaGFydHMvY2hhcnQtMTIucG5nJyk7XG4gIH1cbiAgJi5hcmVhLXN0YWNrZWQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2NoYXJ0cy9jaGFydC0xMS5wbmcnKTtcbiAgfVxuICAmLmFyZWEtcHN0YWNrZWQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2NoYXJ0cy9jaGFydC0xMC5wbmcnKTtcbiAgfVxuICAmLnBpZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvY2hhcnRzL2NoYXJ0LTEzLnBuZycpO1xuICB9XG4gICYuZG91Z2hudXQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2NoYXJ0cy9jaGFydC0xNC5wbmcnKTtcbiAgfVxuICAmLnBpZTNkIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9jaGFydHMvY2hhcnQtMjIucG5nJyk7XG4gIH1cbiAgJi5zY2F0dGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9jaGFydHMvY2hhcnQtMTUucG5nJyk7XG4gIH1cbiAgJi5zdG9jayB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvY2hhcnRzL2NoYXJ0LTE2LnBuZycpO1xuICB9XG4gICYubGluZTNkIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9jaGFydHMvY2hhcnQtMjEucG5nJyk7XG4gIH1cbiAgJi5iYXIzZG5vcm1hbCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvY2hhcnRzL2NoYXJ0LTE3LnBuZycpO1xuICB9XG4gICYuYmFyM2RzdGFjayB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvY2hhcnRzL2NoYXJ0LTE4LnBuZycpO1xuICB9XG4gICYuYmFyM2Rwc3RhY2sge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2NoYXJ0cy9jaGFydC0xOS5wbmcnKTtcbiAgfVxuICAmLmhiYXIzZG5vcm1hbCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvY2hhcnRzL2NoYXJ0LTI1LnBuZycpO1xuICB9XG4gICYuaGJhcjNkc3RhY2sge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2NoYXJ0cy9jaGFydC0yNC5wbmcnKTtcbiAgfVxuICAmLmhiYXIzZHBzdGFjayB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvY2hhcnRzL2NoYXJ0LTIzLnBuZycpO1xuICB9XG4gICYuYmFyM2Rwc25vcm1hbCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvY2hhcnRzL2NoYXJ0LTIwLnBuZycpO1xuICB9XG59IiwiLy8gRW5jb2RlZCBTVkcgQmFja2dyb3VuZFxuLmVuY29kZWQtc3ZnLW1hc2soQHN2Zykge1xuICBAdXJsOiBgZW5jb2RlVVJJQ29tcG9uZW50KEB7c3ZnfSlgO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAdGhlbWVDb2xvcjtcbiAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCxAe3VybH1cIik7XG59IiwiXG4uaWNvbi1yZWRlZmluZSAoQG5hbWU7IEBzdmdyZXMpIHtcbiAgICBpLmljb24ge1xuICAgICAgICAmLkB7bmFtZX0ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IG5vbmU7XG4gICAgICAgICAgICAuZW5jb2RlZC1zdmctYmFja2dyb3VuZChAc3ZncmVzKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNoYXBlLWljb24tcmVkZWZpbmUoQHR5cGUsIEBzdmduYW1lKSB7XG4gICAgLnRodW1iIHtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgW2RhdGEtdHlwZT1Ae3R5cGV9XSAudGh1bWIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9zaGFwZXMvQHtzdmduYW1lfScpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG59XG5cblxuLnNhaWxmaXNoIHtcbiAgICAuaWNvbi1yZWRlZmluZShpY29uLXRleHQtYWxpZ24tY2VudGVyLCAnPHN2ZyB2ZXJzaW9uPVwiMS4xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHZpZXdCb3g9XCIwIDAgMjIgMjJcIiBmaWxsPVwiQHt0aGVtZUNvbG9yfVwiPjxnPjxwYXRoIGQ9XCJNMSwzdjFoMjFWM0gxeiBNNCw3djFoMTRWN0g0eiBNMSwxMmgyMXYtMUgxVjEyeiBNNCwxNXYxaDE0di0xSDR6IE0xLDIwaDIxdi0xSDFWMjB6XCIvPjwvZz48L3N2Zz4nKTtcbiAgICAuaWNvbi1yZWRlZmluZShpY29uLXRleHQtYWxpZ24tamFzdCwgJzxzdmcgdmVyc2lvbj1cIjEuMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB2aWV3Qm94PVwiMCAwIDIyIDIyXCIgZmlsbD1cIkB7dGhlbWVDb2xvcn1cIj48Zz48cGF0aCBkPVwiTTEsM3YxaDIxVjNIMXogTTEsOGgyMVY3SDFWOHogTTEsMTJoMjF2LTFIMVYxMnogTTEsMTZoMjF2LTFIMVYxNnogTTEsMjBoMjF2LTFIMVYyMHpcIi8+PC9nPjwvc3ZnPicpO1xuICAgIC5pY29uLXJlZGVmaW5lKGljb24tdGV4dC1hbGlnbi1sZWZ0LCAnPHN2ZyB2ZXJzaW9uPVwiMS4xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHZpZXdCb3g9XCIwIDAgMjIgMjJcIiBmaWxsPVwiQHt0aGVtZUNvbG9yfVwiPjxnPjxwYXRoIGQ9XCJNMSwzdjFoMjFWM0gxeiBNMTUsN0gxdjFoMTRWN3ogTTEsMTJoMjF2LTFIMVYxMnogTTE1LDE1SDF2MWgxNFYxNXogTTEsMjBoMjF2LTFIMVYyMHpcIi8+PC9nPjwvc3ZnPicpO1xuICAgIC5pY29uLXJlZGVmaW5lKGljb24tdGV4dC1hbGlnbi1yaWdodCwgJzxzdmcgdmVyc2lvbj1cIjEuMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB2aWV3Qm94PVwiMCAwIDIyIDIyXCIgZmlsbD1cIkB7dGhlbWVDb2xvcn1cIj48Zz48cGF0aCBkPVwiTTEsM3YxaDIxVjNIMXogTTgsOGgxNFY3SDhWOHogTTIyLDExSDF2MWgyMVYxMXogTTgsMTZoMTR2LTFIOFYxNnogTTIyLDE5SDF2MWgyMVYxOXpcIi8+PC9nPjwvc3ZnPicpO1xuICAgIC5pY29uLXJlZGVmaW5lKGljb24tZGUtaW5kZW50LCAnPHN2ZyB2ZXJzaW9uPVwiMS4xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHZpZXdCb3g9XCIwIDAgMjIgMjJcIiBmaWxsPVwiQHt0aGVtZUNvbG9yfVwiPjxnPjxwYXRoIGQ9XCJNMSwyMHYtMWgyMXYxSDF6IE0xMSwxNWgxMXYxSDExVjE1eiBNMTEsMTFoMTF2MUgxMVYxMXogTTExLDdoMTF2MUgxMVY3eiBNNi4zLDdMNyw3LjdsLTMuOCwzLjhMNywxNS4zTDYuMywxNkwyLDExLjhsLTAuMi0wLjNMMiwxMS4yTDYuMyw3eiBNMSwzaDIxdjFIMVYzelwiLz48L2c+PC9zdmc+Jyk7XG4gICAgLmljb24tcmVkZWZpbmUoaWNvbi1pbi1pbmRlbnQsICc8c3ZnIHZlcnNpb249XCIxLjFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgdmlld0JveD1cIjAgMCAyMiAyMlwiIGZpbGw9XCJAe3RoZW1lQ29sb3J9XCI+PGc+PHBhdGggZD1cIk0xLDIwdi0xaDIxdjFIMXogTTEyLDE2SDF2LTFoMTFWMTZ6IE0xMiwxMkgxdi0xaDExVjEyeiBNMTIsOEgxVjdoMTFWOHogTTIxLDExLjJsMC4yLDAuM0wyMSwxMS44TDE2LjcsMTZMMTYsMTUuM2wzLjgtMy44TDE2LDcuN0wxNi43LDdMMjEsMTEuMnogTTIyLDRIMVYzaDIxVjR6XCIvPjwvZz48L3N2Zz4nKTtcbiAgICAuaWNvbi1yZWRlZmluZShpY29uLWJsb2NrLWFsaWduLWxlZnQsICc8c3ZnIHZlcnNpb249XCIxLjFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgdmlld0JveD1cIjAgMCAyOCAyOFwiIGZpbGw9XCJAe3RoZW1lQ29sb3J9XCI+PGc+PHJlY3QgeD1cIjFcIiB5PVwiMVwiIHdpZHRoPVwiMjZcIiBoZWlnaHQ9XCIxXCIvPjxyZWN0IHg9XCIxXCIgeT1cIjRcIiB3aWR0aD1cIjI2XCIgaGVpZ2h0PVwiMVwiLz48cmVjdCB4PVwiMVwiIHk9XCIyNVwiIHdpZHRoPVwiMjZcIiBoZWlnaHQ9XCIxXCIvPjxyZWN0IHg9XCIxXCIgeT1cIjIyXCIgd2lkdGg9XCIyNlwiIGhlaWdodD1cIjFcIi8+PHJlY3QgeD1cIjFcIiB5PVwiOFwiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMVwiLz48L2c+PC9zdmc+Jyk7XG4gICAgLmljb24tcmVkZWZpbmUoaWNvbi1ibG9jay1hbGlnbi1jZW50ZXIsICc8c3ZnIHZlcnNpb249XCIxLjFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgdmlld0JveD1cIjAgMCAyOCAyOFwiIGZpbGw9XCJAe3RoZW1lQ29sb3J9XCI+PGc+PHJlY3QgeT1cIjFcIiB3aWR0aD1cIjI2XCIgaGVpZ2h0PVwiMVwiLz48cmVjdCB5PVwiNFwiIHdpZHRoPVwiMjZcIiBoZWlnaHQ9XCIxXCIvPjxyZWN0IHk9XCIyNVwiIHdpZHRoPVwiMjZcIiBoZWlnaHQ9XCIxXCIvPjxyZWN0IHk9XCIyMlwiIHdpZHRoPVwiMjZcIiBoZWlnaHQ9XCIxXCIvPjxyZWN0IHg9XCI3XCIgeT1cIjguMDhcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTAuOTJcIi8+PC9nPjwvc3ZnPicpO1xuICAgIC5pY29uLXJlZGVmaW5lKGljb24tYmxvY2stYWxpZ24tcmlnaHQsICc8c3ZnIHZlcnNpb249XCIxLjFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgdmlld0JveD1cIjAgMCAyOCAyOFwiIGZpbGw9XCJAe3RoZW1lQ29sb3J9XCI+PGc+PHJlY3QgeD1cIjFcIiB5PVwiMVwiIHdpZHRoPVwiMjZcIiBoZWlnaHQ9XCIxXCIvPjxyZWN0IHg9XCIxXCIgeT1cIjRcIiB3aWR0aD1cIjI2XCIgaGVpZ2h0PVwiMVwiLz48cmVjdCB4PVwiMVwiIHk9XCIyNVwiIHdpZHRoPVwiMjZcIiBoZWlnaHQ9XCIxXCIvPjxyZWN0IHg9XCIxXCIgeT1cIjIyXCIgd2lkdGg9XCIyNlwiIGhlaWdodD1cIjFcIi8+PHJlY3QgeD1cIjE1XCIgeT1cIjhcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTFcIi8+PC9nPjwvc3ZnPicpO1xuICAgIC5pY29uLXJlZGVmaW5lKGljb24tdGV4dC12YWxpZ24tdG9wLCAnPHN2ZyB2ZXJzaW9uPVwiMS4xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHZpZXdCb3g9XCIwIDAgMjIgMjJcIiBmaWxsPVwiQHt0aGVtZUNvbG9yfVwiPjxnPjxyZWN0IHg9XCIyXCIgeT1cIjJcIiB3aWR0aD1cIjE5XCIgaGVpZ2h0PVwiMVwiLz48cmVjdCB4PVwiMlwiIHk9XCI0XCIgd2lkdGg9XCIxOVwiIGhlaWdodD1cIjFcIi8+PHBvbHlnb24gcG9pbnRzPVwiMTIgMTggMTEgMTggMTEgNy44MyA4LjY1IDkuOCA4IDguOTQgMTEuNSA2IDE1IDkgMTQuMzUgOS44IDEyIDcuODMgMTIgMThcIi8+PC9nPjwvc3ZnPicpO1xuICAgIC5pY29uLXJlZGVmaW5lKGljb24tdGV4dC12YWxpZ24tbWlkZGxlLCAnPHN2ZyB2ZXJzaW9uPVwiMS4xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHZpZXdCb3g9XCIwIDAgMjIgMjJcIiBmaWxsPVwiQHt0aGVtZUNvbG9yfVwiPjxnPjxyZWN0IHg9XCIyXCIgeT1cIjEwXCIgd2lkdGg9XCIxOVwiIGhlaWdodD1cIjFcIi8+PHJlY3QgeD1cIjJcIiB5PVwiMTJcIiB3aWR0aD1cIjE5XCIgaGVpZ2h0PVwiMVwiLz48cG9seWdvbiBwb2ludHM9XCIxMSAyIDEyIDIgMTIgNy4xNyAxNC4zNSA1LjIgMTUgNi4wNiAxMS41IDkgOCA2IDguNjUgNS4yIDExIDcuMTcgMTEgMlwiLz48cG9seWdvbiBwb2ludHM9XCIxMiAyMSAxMSAyMSAxMSAxNS44MyA4LjY1IDE3LjggOCAxNi45NCAxMS41IDE0IDE1IDE3IDE0LjM1IDE3LjggMTIgMTUuODMgMTIgMjFcIi8+PC9nPjwvc3ZnPicpO1xuICAgIC5pY29uLXJlZGVmaW5lKGljb24tdGV4dC12YWxpZ24tYm90dG9tLCc8c3ZnIHZlcnNpb249XCIxLjFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgdmlld0JveD1cIjAgMCAyMiAyMlwiIGZpbGw9XCJAe3RoZW1lQ29sb3J9XCI+PGc+PHJlY3QgeD1cIjJcIiB5PVwiMThcIiB3aWR0aD1cIjE5XCIgaGVpZ2h0PVwiMVwiLz48cmVjdCB4PVwiMlwiIHk9XCIyMFwiIHdpZHRoPVwiMTlcIiBoZWlnaHQ9XCIxXCIvPjxwb2x5Z29uIHBvaW50cz1cIjExIDQgMTIgNCAxMiAxNS4xNyAxNC4zNSAxMy4yIDE1IDE0LjA2IDExLjUgMTcgOCAxNCA4LjY1IDEzLjIgMTEgMTUuMTcgMTEgNFwiLz48L2c+PC9zdmc+Jyk7XG5cbiAgICAuaXRlbS1jb250ZW50LmJ1dHRvbnMgLml0ZW0taW5uZXIgPiAucm93IC5idXR0b24uYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHRoZW1lQ29sb3JMaWdodDtcbiAgICB9XG5cbiAgICAuZGF0YXZpZXcuc2hhcGVzIHtcbiAgICAgICAgLnNoYXBlLWljb24tcmVkZWZpbmUodGV4dFJlY3QsJ3NoYXBlLTAxLnN2ZycpO1xuICAgICAgICAuc2hhcGUtaWNvbi1yZWRlZmluZShsaW5lLCdzaGFwZS0wMi5zdmcnKTtcbiAgICAgICAgLnNoYXBlLWljb24tcmVkZWZpbmUobGluZVdpdGhBcnJvdywnc2hhcGUtMDMuc3ZnJyk7XG4gICAgICAgIC5zaGFwZS1pY29uLXJlZGVmaW5lKGxpbmVXaXRoVHdvQXJyb3dzLCdzaGFwZS0wNC5zdmcnKTtcbiAgICAgICAgLnNoYXBlLWljb24tcmVkZWZpbmUocmVjdCwnc2hhcGUtMDUuc3ZnJyk7XG4gICAgICAgIC5zaGFwZS1pY29uLXJlZGVmaW5lKGhleGFnb24sJ3NoYXBlLTA2LnN2ZycpO1xuICAgICAgICAuc2hhcGUtaWNvbi1yZWRlZmluZShyb3VuZFJlY3QsJ3NoYXBlLTA3LnN2ZycpO1xuICAgICAgICAuc2hhcGUtaWNvbi1yZWRlZmluZShlbGxpcHNlLCdzaGFwZS0wOC5zdmcnKTtcbiAgICAgICAgLnNoYXBlLWljb24tcmVkZWZpbmUodHJpYW5nbGUsJ3NoYXBlLTA5LnN2ZycpO1xuICAgICAgICAuc2hhcGUtaWNvbi1yZWRlZmluZShydFRyaWFuZ2xlLCdzaGFwZS0xMC5zdmcnKTtcbiAgICAgICAgLnNoYXBlLWljb24tcmVkZWZpbmUodHJhcGV6b2lkLCdzaGFwZS0xMS5zdmcnKTtcbiAgICAgICAgLnNoYXBlLWljb24tcmVkZWZpbmUoZGlhbW9uZCwnc2hhcGUtMTIuc3ZnJyk7XG4gICAgICAgIC5zaGFwZS1pY29uLXJlZGVmaW5lKHJpZ2h0QXJyb3csJ3NoYXBlLTEzLnN2ZycpO1xuICAgICAgICAuc2hhcGUtaWNvbi1yZWRlZmluZShsZWZ0UmlnaHRBcnJvdywnc2hhcGUtMTQuc3ZnJyk7XG4gICAgICAgIC5zaGFwZS1pY29uLXJlZGVmaW5lKGxlZnRBcnJvdywnc2hhcGUtMTUuc3ZnJyk7XG4gICAgICAgIC5zaGFwZS1pY29uLXJlZGVmaW5lKGJlbnRVcEFycm93LCdzaGFwZS0xNi5zdmcnKTtcbiAgICAgICAgLnNoYXBlLWljb24tcmVkZWZpbmUoZmxvd0NoYXJ0T2ZmcGFnZUNvbm5lY3Rvciwnc2hhcGUtMTcuc3ZnJyk7XG4gICAgICAgIC5zaGFwZS1pY29uLXJlZGVmaW5lKGhlYXJ0LCdzaGFwZS0xOC5zdmcnKTtcbiAgICAgICAgLnNoYXBlLWljb24tcmVkZWZpbmUobWF0aE1pbnVzLCdzaGFwZS0xOS5zdmcnKTtcbiAgICAgICAgLnNoYXBlLWljb24tcmVkZWZpbmUobWF0aFBsdXMsJ3NoYXBlLTIwLnN2ZycpO1xuICAgICAgICAuc2hhcGUtaWNvbi1yZWRlZmluZShwYXJhbGxlbG9ncmFtLCdzaGFwZS0yMS5zdmcnKTtcbiAgICAgICAgLnNoYXBlLWljb24tcmVkZWZpbmUod2VkZ2VSZWN0Q2FsbG91dCwnc2hhcGUtMjIuc3ZnJyk7XG4gICAgICAgIC5zaGFwZS1pY29uLXJlZGVmaW5lKHdlZGdlRWxsaXBzZUNhbGxvdXQsJ3NoYXBlLTIzLnN2ZycpO1xuICAgICAgICAuc2hhcGUtaWNvbi1yZWRlZmluZShjbG91ZENhbGxvdXQsJ3NoYXBlLTI0LnN2ZycpO1xuICAgIH1cbn1cbiIsIlxuQGFwcFN0YXR1c2JhckhlaWdodDogMzBweDtcbkBiYXNlWkluZGV4OiAxMDtcblxuLm5hdmJhci1oaWRkZW4gKyAubmF2YmFyLXRocm91Z2gge1xuICA+IC5wYWdlLmVkaXRvciB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbn1cblxuLm5hdmJhci10aHJvdWdoIHtcbiAgPiAucGFnZS5lZGl0b3Ige1xuICAgIHBhZGRpbmctdG9wOiBAYXBwVG9vbGJhckhlaWdodDtcbiAgICB0cmFuc2l0aW9uOiBwYWRkaW5nLXRvcCA0MDBtcyBlYXNlLWluO1xuICB9XG59XG5cbi5uYXZiYXItdGhyb3VnaCAucGFnZSB7XG4gICYgPiAuc2VhcmNoYmFyIHtcbiAgICB0b3A6IEBhcHBUb29sYmFySGVpZ2h0ICsgQGNlbGxFZGl0b3JIZWlnaHQ7XG4gIH1cblxuICAjY2VsbC1lZGl0aW5nLWJveC5leHBhbmRlZCArIC5zZWFyY2hiYXIge1xuICAgIHRvcDogQGFwcFRvb2xiYXJIZWlnaHQgKyBAY2VsbEVkaXRvckV4cGFuZGVkSGVpZ2h0O1xuICB9XG59XG5cbi5mbGV4LWhvcml6b250YWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbn1cblxuLmZsZXgtdmVydGljYWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbn1cblxuLnNtYWxsLXBpY2tlciB7XG4gIC5waWNrZXItaXRlbSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn0iLCJAZ3JheS1kYXJrOiAgICAgICAgICAgICAjYzRjNGM0O1xuQGdyYXktZGFya2VyOiAgICAgICAgICAgIzg0ODQ4NDsgLy9yZ2IoMTMyLCAxMzIsIDEzMilcbkBncmF5LWxpZ2h0OiAgICAgICAgICAgICNmMWYxZjE7IC8vcmdiKDI0MSwgMjQxLCAyNDEpXG5cbkBjZWxsRWRpdG9ySGVpZ2h0OiAzMHB4O1xuQGNlbGxFZGl0b3JFeHBhbmRlZEhlaWdodDogNzBweDtcblxuLmJvcmRlci1yYWRpdXMoQHJhZGl1czogMnB4KSB7XG4gICAgYm9yZGVyLXJhZGl1czogQHJhZGl1cztcbn1cblxuI2NlbGwtZWRpdGluZy1ib3gge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgKiB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgaGVpZ2h0OiBAY2VsbEVkaXRvckhlaWdodDtcbiAgICBtaW4taGVpZ2h0OiBAY2VsbEVkaXRvckhlaWdodDtcbiAgICB0cmFuc2l0aW9uOiBtaW4taGVpZ2h0IC4xcztcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvL2FsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHotaW5kZXg6IDUwMDtcbiAgICAuaGFpcmxpbmUoYm90dG9tLCBAZ3JheS1kYXJrKTsvL0B0b29sYmFyQm9yZGVyQ29sb3IpO1xuXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IEBjZWxsRWRpdG9yRXhwYW5kZWRIZWlnaHQ7XG4gICAgICAgIC8vaGVpZ2h0OiBAY2VsbEVkaXRvckV4cGFuZGVkSGVpZ2h0O1xuICAgICAgICB0cmFuc2l0aW9uOiBtaW4taGVpZ2h0IC4xcztcbiAgICB9XG5cbiAgICAuYnRuIHtcbiAgICAgICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgICAgIGhlaWdodDogQGNlbGxFZGl0b3JIZWlnaHQ7XG4gICAgfVxuXG4gICAgLmNlLWdyb3VwIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmdyb3VwLW5hbWUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGdyYXktbGlnaHQ7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgLmdyb3VwLWNvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMXB4O1xuICAgICAgICAuaGFpcmxpbmUobGVmdCwgQGdyYXktZGFyayk7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgLy9oZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLmdyb3VwLW5hbWUsIC5ncm91cC1jb250ZW50LFxuICAgIC5ncm91cC1leHBhbmQge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIC5ncm91cC1mdW5jdGlvbnMtbGlzdCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiBAY2VsbEVkaXRvckhlaWdodDtcbiAgICB9XG5cbiAgICAjY2UtY2VsbC1uYW1lIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogOTBweDtcbiAgICAgICAgcGFkZGluZzogMCA0cHg7XG4gICAgICAgIGJvcmRlcjogMCBub25lO1xuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgLy9mb250LXNpemU6IDE3cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICBjb2xvcjogQGdyYXktZGFya2VyO1xuICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2NlLWZ1bmN0aW9uIHtcbiAgICAgICAgaGVpZ2h0OiBAY2VsbEVkaXRvckhlaWdodDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IEBjZWxsRWRpdG9ySGVpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgfVxuXG4gICAgI2NlLWJ0bi1leHBhbmQge1xuICAgICAgICB3aWR0aDogQGNlbGxFZGl0b3JIZWlnaHQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIHBhZGRpbmc6IDAgMnB4IDA7XG5cbiAgICAgICAgLmNhcmV0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXMgZWFzZTtcbiAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgLmVuY29kZWQtc3ZnLWJhY2tncm91bmQoJzxzdmcgdmVyc2lvbj1cIjEuMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB4PVwiMHB4XCIgeT1cIjBweFwiIHZpZXdCb3g9XCIwIDAgMjIgMjJcIiBmaWxsPVwiIzAwMFwiPjxnPjxwYXRoIGQ9XCJNMjAuNSw2LjVsMS4xLDEuMUwxMSwxOGwwLDBsMCwwTDAuNSw3LjVsMS4xLTEuMWw5LjUsOS41TDIwLjUsNi41elwiLz48L2c+PC9zdmc+Jyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmNvbGxhcHNlIHtcbiAgICAgICAgICAgIC5jYXJldCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICNjZS1jZWxsLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDNweCAzcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQyOTtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICByZXNpemU6IG5vbmU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IEBjZWxsRWRpdG9ySGVpZ2h0O1xuICAgICAgICBib3JkZXI6IDAgbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuXG4gICAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIGNvbG9yOiBAZ3JheS1kYXJrZXI7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjY2UtY2VsbC1uYW1lLCAjY2UtY2VsbC1jb250ZW50IHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgICAgLmdyb3VwLWZ1bmN0aW9ucy1saXN0IHtcbiAgICAgICAgICAgICYub3BlbmVkIHtcbiAgICAgICAgICAgICAgICB0b3A6IEBjZWxsRWRpdG9yRXhwYW5kZWRIZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ncm91cC1mdW5jdGlvbnMtbGlzdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICB0b3A6IDA7XG4gICAgLmhhaXJsaW5lKGJvdHRvbSwgQGdyYXktZGFyayk7XG5cbiAgICB0cmFuc2l0aW9uOiB0b3AgLjJzO1xuXG4gICAgJi5vcGVuZWQge1xuICAgICAgICB0b3A6IEBjZWxsRWRpdG9ySGVpZ2h0O1xuICAgIH1cblxuICAgICY6bm90KC5vcGVuZWQpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDhweCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ucGhvbmUge1xuICAgICNjZWxsLWVkaXRpbmctYm94ICNjZS1jZWxsLW5hbWUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbiIsIkBzdGF0dXNCYXJCb3JkZXJDb2xvcjogI2NiY2JjYjtcbkBzdGF0dXNCYXJIZWlnaHQ6IDMwcHg7XG5AZm9udENvbG9yOiAjMDAwO1xuXG4uc3RhdHVzYmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAZ3JheS1saWdodDtcbiAgei1pbmRleDogQGJhc2VaSW5kZXggKyAxO1xuXG4gICoge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAuaGFpcmxpbmUodG9wLCBAc3RhdHVzQmFyQm9yZGVyQ29sb3IpO1xuICBoZWlnaHQ6IEBzdGF0dXNCYXJIZWlnaHQ7XG4gIG1pbi1oZWlnaHQ6IEBzdGF0dXNCYXJIZWlnaHQ7XG5cbiAgLmJveC10YWJzIHtcbiAgfVxuXG4gICNib3gtYWRkdGFiIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuXG4gIC5idXR0b24ge1xuICAgIGJvcmRlcjogMCBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIG1pbi13aWR0aDogNDhweDtcbiAgICAuaGFpcmxpbmUocmlnaHQsIEBzdGF0dXNCYXJCb3JkZXJDb2xvcik7XG4gIH1cblxuICBpLmljb24ge1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIGhlaWdodDogMjJweDtcblxuICAgICYuaWNvbi1wbHVzIHtcbiAgICAgIC5lbmNvZGVkLXN2Zy1iYWNrZ3JvdW5kKCc8c3ZnIHZlcnNpb249XCIxLjFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgeD1cIjBweFwiIHk9XCIwcHhcIiB2aWV3Qm94PVwiMCAwIDIyIDIyXCIgZmlsbD1cIkB7Zm9udENvbG9yfVwiPjxnPjxwYXRoIGQ9XCJNMjIsMTJIMTJ2MTBoLTFWMTJIMXYtMWgxMFYxaDF2MTBoMTBWMTJ6XCIvPjwvZz48L3N2Zz4nKTtcbiAgICB9XG4gIH1cbn1cblxuLmJveC10YWJzIHtcbiAgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgID4gbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIC5oYWlybGluZShyaWdodCwgQHN0YXR1c0JhckJvcmRlckNvbG9yKTtcblxuICAgICAgJjpub3QoLmFjdGl2ZSkge1xuICAgICAgICBhIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHggMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IEBzdGF0dXNCYXJIZWlnaHQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTFweDtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgY29sb3I6IEBmb250Q29sb3I7XG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5sb2NrZWQge1xuICAgIGEge1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAycHggI2YwMDtcbiAgICB9XG4gIH1cbn0iLCJcbi5zYWlsZmlzaCB7XG4gICAgI2NlbGwtZWRpdGluZy1ib3gge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAuZ3JvdXAtY29udGVudCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiA0MnB4O1xuICAgICAgICAgICAgcmlnaHQ6IDMwcHg7XG5cbiAgICAgICAgICAgIC50YWJsZXQmIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAxMzJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ncm91cC1leHBhbmQge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAjY2UtYnRuLWV4cGFuZCB7XG4gICAgICAgICAgICAuY2FyZXQge1xuICAgICAgICAgICAgICAgIC5lbmNvZGVkLXN2Zy1iYWNrZ3JvdW5kKCc8c3ZnIHZlcnNpb249XCIxLjFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgeD1cIjBweFwiIHk9XCIwcHhcIiB3aWR0aD1cIjE2cHhcIiBoZWlnaHQ9XCIxNnB4XCIgZmlsbD1cIiMwMDBcIj48Zz48cGF0aCBkPVwiTTIwLjUsNi41bDEuMSwxLjFMMTEsMThsMCwwbDAsMEwwLjUsNy41bDEuMS0xLjFsOS41LDkuNUwyMC41LDYuNXpcIiB0cmFuc2Zvcm09XCJtYXRyaXgoMC43NDM2ODQgMCAwIDAuNzQzNjg0IC0wLjI5OTg1NCAtMC41OTA1MzYpXCIvPjwvZz48L3N2Zz4nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdGF0dXNiYXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufSJdfQ== */ \ No newline at end of file +#user-list .item-content { + padding-left: 0; +} +#user-list .item-inner { + justify-content: flex-start; + padding-left: 15px; +} +#user-list .length { + margin-left: 4px; +} +#user-list .color { + min-width: 40px; + min-height: 40px; + margin-right: 20px; + text-align: center; + border-radius: 50px; + line-height: 40px; + color: #373737; + font-weight: 400; +} +#user-list ul:before { + content: none; +} diff --git a/apps/spreadsheeteditor/mobile/resources/less/app-ios.less b/apps/spreadsheeteditor/mobile/resources/less/app-ios.less index 2d43c3aab..f845e7d08 100644 --- a/apps/spreadsheeteditor/mobile/resources/less/app-ios.less +++ b/apps/spreadsheeteditor/mobile/resources/less/app-ios.less @@ -191,4 +191,34 @@ input, textarea { .modal.modal-in { max-height: 100%; overflow: auto; +} + +//Edit users +@initialEditUser: #373737; + +#user-list { + .item-content { + padding-left: 0; + } + .item-inner { + justify-content: flex-start; + padding-left: 15px; + } + .length { + margin-left: 4px; + } + .color { + min-width: 40px; + min-height: 40px; + margin-right: 20px; + text-align: center; + border-radius: 50px; + line-height: 40px; + color: @initialEditUser; + font-weight: 500; + + } + ul:before { + content: none; + } } \ No newline at end of file diff --git a/apps/spreadsheeteditor/mobile/resources/less/app-material.less b/apps/spreadsheeteditor/mobile/resources/less/app-material.less index ce9c8be4b..b168d50e4 100644 --- a/apps/spreadsheeteditor/mobile/resources/less/app-material.less +++ b/apps/spreadsheeteditor/mobile/resources/less/app-material.less @@ -178,4 +178,33 @@ input, textarea { .modal.modal-in { max-height: 100%; overflow: auto; +} + +//Edit users +@initialEditUser: #373737; + +#user-list { + .item-content { + padding-left: 0; + } + .item-inner { + justify-content: flex-start; + padding-left: 15px; + } + .length { + margin-left: 4px; + } + .color { + min-width: 40px; + min-height: 40px; + margin-right: 20px; + text-align: center; + border-radius: 50px; + line-height: 40px; + color: @initialEditUser; + font-weight: 400; + } + ul:before { + content: none; + } } \ No newline at end of file diff --git a/apps/spreadsheeteditor/mobile/resources/less/ios/_icons.less b/apps/spreadsheeteditor/mobile/resources/less/ios/_icons.less index a5716a594..ccd51648a 100644 --- a/apps/spreadsheeteditor/mobile/resources/less/ios/_icons.less +++ b/apps/spreadsheeteditor/mobile/resources/less/ios/_icons.less @@ -352,6 +352,12 @@ i.icon { height: 30px; .encoded-svg-background(''); } + // Collaboration + &.icon-collaboration { + width: 24px; + height: 24px; + .encoded-svg-background(''); + } } .chart-types .thumb { diff --git a/apps/spreadsheeteditor/mobile/resources/less/material/_icons.less b/apps/spreadsheeteditor/mobile/resources/less/material/_icons.less index 48e6bd9ff..fa686ee83 100644 --- a/apps/spreadsheeteditor/mobile/resources/less/material/_icons.less +++ b/apps/spreadsheeteditor/mobile/resources/less/material/_icons.less @@ -315,6 +315,12 @@ i.icon { height: 30px; .encoded-svg-background(''); } + // Collaboration + &.icon-collaboration { + width: 24px; + height: 24px; + .encoded-svg-background(''); + } } // Overwrite color for toolbar @@ -370,6 +376,11 @@ i.icon { height: 22px; .encoded-svg-background(''); } + &.icon-collaboration { + width: 24px; + height: 24px; + .encoded-svg-background(''); + } } }