"use strict";(self.webpackChunktimetrex=self.webpackChunktimetrex||[]).push([["wizard-permission_wizard-PermissionWizardController"],{1827:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"PermissionWizardController\": () => (/* binding */ PermissionWizardController)\n/* harmony export */ });\n/* provided dependency */ var _ = __webpack_require__(9050);\n/* provided dependency */ var $ = __webpack_require__(9755);\nclass PermissionWizardController extends BaseWizardController {\n\tconstructor( options = {} ) {\n\t\t_.defaults( options, {\n\t\t\tel: '.wizard-bg',\n\t\t\tapi_permission: null\n\t\t} );\n\n\t\tsuper( options );\n\t}\n\n\tinit( options ) {\n\t\t//this._super('initialize', options );\n\n\t\tthis.title = $.i18n._( 'Permission Wizard' );\n\t\tthis.steps = 3;\n\t\tthis.current_step = 1;\n\n\t\tthis.render();\n\t}\n\n\trender() {\n\t\tsuper.render();\n\t\tthis.api_permission = TTAPI.APIPermission;\n\t\tthis.initCurrentStep();\n\t}\n\n\t//Create each page UI\n\tbuildCurrentStepUI() {\n\t\tvar $this = this;\n\t\tthis.content_div.empty();\n\n\t\tthis.stepsWidgetDic[this.current_step] = {};\n\t\tswitch ( this.current_step ) {\n\t\t\tcase 1:\n\t\t\t\tvar label = this.getLabel();\n\t\t\t\tlabel.text( $.i18n._( 'Choose role and permission actions' ) );\n\n\t\t\t\tthis.content_div.append( label );\n\n\t\t\t\t//Role\n\t\t\t\tvar form_item = $( Global.loadWidget( 'global/widgets/wizard_form_item/WizardFormItem.html' ) );\n\t\t\t\tvar form_item_label = form_item.find( '.form-item-label' );\n\t\t\t\tvar form_item_input_div = form_item.find( '.form-item-input-div' );\n\n\t\t\t\tvar combobox = this.getComboBox( 'role', false );\n\n\t\t\t\tform_item_label.text( $.i18n._( 'Role' ) );\n\t\t\t\tform_item_input_div.append( combobox );\n\n\t\t\t\tthis.content_div.append( form_item );\n\n\t\t\t\t//Permission\n\t\t\t\tform_item = $( Global.loadWidget( 'global/widgets/wizard_form_item/WizardFormItem.html' ) );\n\t\t\t\tform_item_label = form_item.find( '.form-item-label' );\n\t\t\t\tform_item_input_div = form_item.find( '.form-item-input-div' );\n\n\t\t\t\tvar permission = this.getAComboBox( null, true, 'global_option_column', 'permission', false, 'value' );\n\n\t\t\t\tform_item_label.text( $.i18n._( 'Permissions' ) );\n\t\t\t\tform_item_input_div.append( permission );\n\n\t\t\t\tthis.content_div.append( form_item );\n\n\t\t\t\tthis.stepsWidgetDic[this.current_step][combobox.getField()] = combobox;\n\t\t\t\tthis.stepsWidgetDic[this.current_step][permission.getField()] = permission;\n\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\n\t\t\t\tlabel = this.getLabel();\n\t\t\t\tlabel.text( $.i18n._( 'Choose modules and sub-modules' ) );\n\n\t\t\t\tthis.content_div.append( label );\n\n\t\t\t\t//Modules\n\t\t\t\tform_item = $( Global.loadWidget( 'global/widgets/wizard_form_item/WizardFormItem.html' ) );\n\t\t\t\tform_item_label = form_item.find( '.form-item-label' );\n\t\t\t\tform_item_input_div = form_item.find( '.form-item-input-div' );\n\n\t\t\t\tvar modules = this.getAComboBox( null, true, 'global_option_column', 'section_group', false, 'value' );\n\n\t\t\t\tform_item_label.text( $.i18n._( 'Modules' ) );\n\t\t\t\tform_item_input_div.append( modules );\n\n\t\t\t\tthis.content_div.append( form_item );\n\n\t\t\t\tform_item.bind( 'formItemChange', function( e, target ) {\n\t\t\t\t\tvar select_value = target.getValue();\n\t\t\t\t\t$this.setSection( select_value, true );\n\n\t\t\t\t} );\n\n\t\t\t\t//Sub Modules\n\t\t\t\tform_item = $( Global.loadWidget( 'global/widgets/wizard_form_item/WizardFormItem.html' ) );\n\t\t\t\tform_item_label = form_item.find( '.form-item-label' );\n\t\t\t\tform_item_input_div = form_item.find( '.form-item-input-div' );\n\n\t\t\t\tvar sub_modules = this.getAComboBox( null, true, 'global_option_column', 'section', false, 'value' );\n\n\t\t\t\tform_item_label.text( $.i18n._( 'Sub-Modules' ) );\n\t\t\t\tform_item_input_div.append( sub_modules );\n\n\t\t\t\tthis.content_div.append( form_item );\n\n\t\t\t\tthis.stepsWidgetDic[this.current_step][modules.getField()] = modules;\n\t\t\t\tthis.stepsWidgetDic[this.current_step][sub_modules.getField()] = sub_modules;\n\n\t\t\t\tbreak;\n\t\t\tcase 3:\n\n\t\t\t\tlabel = this.getLabel();\n\t\t\t\tlabel.text( $.i18n._( 'Would you like to allow, deny or simply highlight the chosen permissions' ) );\n\n\t\t\t\tthis.content_div.append( label );\n\n\t\t\t\tvar radio_1 = $( '' );\n\t\t\t\tvar radio_2 = $( '' );\n\t\t\t\tvar radio_3 = $( '' );\n\n\t\t\t\tthis.content_div.append( radio_1 );\n\t\t\t\tthis.content_div.append( radio_2 );\n\t\t\t\tthis.content_div.append( radio_3 );\n\n\t\t\t\tthis.stepsWidgetDic[this.current_step]['allow'] = radio_1;\n\t\t\t\tthis.stepsWidgetDic[this.current_step]['deny'] = radio_2;\n\t\t\t\tthis.stepsWidgetDic[this.current_step]['highlight'] = radio_3;\n\n\t\t\t\tbreak;\n\n\t\t}\n\t}\n\n\tsetSection( section_group_id, select_all ) {\n\t\tvar current_step_ui = this.stepsWidgetDic[this.current_step];\n\n\t\tthis.api_permission.getSectionBySectionGroup( section_group_id, {\n\t\t\tonResult: function( result ) {\n\t\t\t\tvar data = Global.buildRecordArray( result.getResult() );\n\t\t\t\tcurrent_step_ui.section.setSourceData( data );\n\t\t\t\tif ( select_all ) {\n\t\t\t\t\tcurrent_step_ui.section.setValue( data );\n\t\t\t\t}\n\n\t\t\t}\n\t\t} );\n\t}\n\n\tbuildCurrentStepData() {\n\t\tvar $this = this;\n\t\tvar current_step_data = this.stepsDataDic[this.current_step];\n\t\tvar current_step_ui = this.stepsWidgetDic[this.current_step];\n\n\t\tswitch ( this.current_step ) {\n\t\t\tcase 1:\n\n\t\t\t\tthis.api_permission.getOptions( 'preset', {\n\t\t\t\t\tonResult: function( result ) {\n\t\t\t\t\t\tvar data = Global.buildRecordArray( result.getResult() );\n\n\t\t\t\t\t\tdata.unshift( { value: 0, label: $.i18n._( 'CUSTOM' ) } );\n\n\t\t\t\t\t\tcurrent_step_ui.role.setSourceData( data );\n\n\t\t\t\t\t\tif ( current_step_data ) {\n\t\t\t\t\t\t\tcurrent_step_ui.role.setValue( current_step_data.role );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( LocalCacheData.current_open_primary_controller.current_edit_record && LocalCacheData.current_open_primary_controller.current_edit_record.name ) {\n\t\t\t\t\t\t\tvar selected_control_name = LocalCacheData.current_open_primary_controller.current_edit_record.name.toLowerCase();\n\t\t\t\t\t\t\tfor ( var n in data ) {\n\t\t\t\t\t\t\t\tif ( data[n].label.toLowerCase() == selected_control_name ) {\n\t\t\t\t\t\t\t\t\tcurrent_step_ui.role.setSelectedIndex( n );\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\t\tthis.api_permission.getOptions( 'common_permissions', {\n\t\t\t\t\tonResult: function( result ) {\n\t\t\t\t\t\tvar data = Global.buildRecordArray( result.getResult() );\n\n\t\t\t\t\t\tcurrent_step_ui.permission.setSourceData( data );\n\n\t\t\t\t\t\tif ( current_step_data ) {\n\t\t\t\t\t\t\tcurrent_step_ui.permission.setValue( current_step_data.permission );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcurrent_step_ui.permission.setValue( data );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\t\tbreak;\n\n\t\t\tcase 2:\n\n\t\t\t\tthis.api_permission.getOptions( 'section_group', {\n\t\t\t\t\tonResult: function( result ) {\n\n\t\t\t\t\t\tvar data = Global.buildRecordArray( result.getResult() );\n\n\t\t\t\t\t\tcurrent_step_ui.section_group.setSourceData( data );\n\n\t\t\t\t\t\tif ( current_step_data ) {\n\n\t\t\t\t\t\t\tif ( current_step_data.section_group && current_step_data.section_group.length > 0 ) {\n\t\t\t\t\t\t\t\tcurrent_step_ui.section_group.setValue( current_step_data.section_group );\n\t\t\t\t\t\t\t\t$this.setSection( current_step_data.section_group );\n\t\t\t\t\t\t\t\tcurrent_step_ui.section.setValue( current_step_data.section );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcurrent_step_ui.section_group.setValue( data[0].value );\n\t\t\t\t\t\t\t$this.setSection( data[0].value, true );\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\t\tbreak;\n\n\t\t\tcase 3:\n\n\t\t\t\tif ( current_step_data ) {\n\t\t\t\t\tcurrent_step_ui[current_step_data.action].prop( 'checked', 'checked' );\n\t\t\t\t} else {\n\t\t\t\t\tcurrent_step_ui['allow'].prop( 'checked', 'checked' );\n\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t}\n\t}\n\n\tonDoneClick() {\n\t\tvar $this = this;\n\t\tsuper.onDoneClick();\n\t\tthis.saveCurrentStep();\n\n\t\tvar preset = this.stepsDataDic[1].role;\n\t\tvar sections = this.stepsDataDic[2].section;\n\t\tvar permission = this.stepsDataDic[1].permission;\n\t\tvar permission_status = this.stepsDataDic[3].action;\n\n\t\tthis.api_permission.filterPresetPermissions( preset, sections, permission, {\n\t\t\tonResult: function( result ) {\n\n\t\t\t\tif ( !result.isValid ) {\n\t\t\t\t\tTAlertManager.showErrorAlert( result );\n\t\t\t\t\t$this.onCloseClick();\n\t\t\t\t} else {\n\n\t\t\t\t\t$this.onCloseClick();\n\t\t\t\t\tif ( $this.call_back ) {\n\t\t\t\t\t\t$this.call_back( result.getResult(), permission_status );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\tsaveCurrentStep() {\n\t\tthis.stepsDataDic[this.current_step] = {};\n\t\tvar current_step_data = this.stepsDataDic[this.current_step];\n\t\tvar current_step_ui = this.stepsWidgetDic[this.current_step];\n\t\tswitch ( this.current_step ) {\n\t\t\tcase 3:\n\t\t\t\tfor ( var key in current_step_ui ) {\n\t\t\t\t\tif ( !current_step_ui.hasOwnProperty( key ) ) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( current_step_ui[key].prop( 'checked' ) || current_step_ui[key][0].checked === true ) {\n\t\t\t\t\t\tcurrent_step_data.action = key;\n\t\t\t\t\t}\n\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\n\t\t\t\tfor ( var key in current_step_ui ) {\n\t\t\t\t\tif ( !current_step_ui.hasOwnProperty( key ) ) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tcurrent_step_data[key] = current_step_ui[key].getValue();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tsetDefaultDataToSteps() {\n\n\t\tif ( !this.default_data ) {\n\t\t\treturn null;\n\t\t}\n\t}\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTgyNy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBTztBQUNQLDJCQUEyQjtBQUMzQixFQUFFLENBQUM7QUFDSDtBQUNBO0FBQ0EsSUFBSTs7QUFFSjtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsZUFBZSxDQUFDO0FBQ2hCO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLENBQUM7O0FBRWpCOztBQUVBO0FBQ0Esb0JBQW9CLENBQUM7QUFDckI7QUFDQTs7QUFFQTs7QUFFQSwwQkFBMEIsQ0FBQztBQUMzQjs7QUFFQTs7QUFFQTtBQUNBLGdCQUFnQixDQUFDO0FBQ2pCO0FBQ0E7O0FBRUE7O0FBRUEsMEJBQTBCLENBQUM7QUFDM0I7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsZ0JBQWdCLENBQUM7O0FBRWpCOztBQUVBO0FBQ0EsZ0JBQWdCLENBQUM7QUFDakI7QUFDQTs7QUFFQTs7QUFFQSwwQkFBMEIsQ0FBQztBQUMzQjs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsTUFBTTs7QUFFTjtBQUNBLGdCQUFnQixDQUFDO0FBQ2pCO0FBQ0E7O0FBRUE7O0FBRUEsMEJBQTBCLENBQUM7QUFDM0I7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsZ0JBQWdCLENBQUM7O0FBRWpCOztBQUVBLGtCQUFrQixDQUFDO0FBQ25CLGtCQUFrQixDQUFDO0FBQ25CLGtCQUFrQixDQUFDOztBQUVuQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxzQkFBc0IsaUJBQWlCLENBQUMsc0JBQXNCOztBQUU5RDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTs7QUFFTjtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBOztBQUVBO0FBQ0EsTUFBTTs7QUFFTjs7QUFFQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsUUFBUTtBQUNSO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSxNQUFNOztBQUVOOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTs7QUFFTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2ludGVyZmFjZS9odG1sNS92aWV3cy93aXphcmQvcGVybWlzc2lvbl93aXphcmQvUGVybWlzc2lvbldpemFyZENvbnRyb2xsZXIuanM/MGM1YiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgUGVybWlzc2lvbldpemFyZENvbnRyb2xsZXIgZXh0ZW5kcyBCYXNlV2l6YXJkQ29udHJvbGxlciB7XG5cdGNvbnN0cnVjdG9yKCBvcHRpb25zID0ge30gKSB7XG5cdFx0Xy5kZWZhdWx0cyggb3B0aW9ucywge1xuXHRcdFx0ZWw6ICcud2l6YXJkLWJnJyxcblx0XHRcdGFwaV9wZXJtaXNzaW9uOiBudWxsXG5cdFx0fSApO1xuXG5cdFx0c3VwZXIoIG9wdGlvbnMgKTtcblx0fVxuXG5cdGluaXQoIG9wdGlvbnMgKSB7XG5cdFx0Ly90aGlzLl9zdXBlcignaW5pdGlhbGl6ZScsIG9wdGlvbnMgKTtcblxuXHRcdHRoaXMudGl0bGUgPSAkLmkxOG4uXyggJ1Blcm1pc3Npb24gV2l6YXJkJyApO1xuXHRcdHRoaXMuc3RlcHMgPSAzO1xuXHRcdHRoaXMuY3VycmVudF9zdGVwID0gMTtcblxuXHRcdHRoaXMucmVuZGVyKCk7XG5cdH1cblxuXHRyZW5kZXIoKSB7XG5cdFx0c3VwZXIucmVuZGVyKCk7XG5cdFx0dGhpcy5hcGlfcGVybWlzc2lvbiA9IFRUQVBJLkFQSVBlcm1pc3Npb247XG5cdFx0dGhpcy5pbml0Q3VycmVudFN0ZXAoKTtcblx0fVxuXG5cdC8vQ3JlYXRlIGVhY2ggcGFnZSBVSVxuXHRidWlsZEN1cnJlbnRTdGVwVUkoKSB7XG5cdFx0dmFyICR0aGlzID0gdGhpcztcblx0XHR0aGlzLmNvbnRlbnRfZGl2LmVtcHR5KCk7XG5cblx0XHR0aGlzLnN0ZXBzV2lkZ2V0RGljW3RoaXMuY3VycmVudF9zdGVwXSA9IHt9O1xuXHRcdHN3aXRjaCAoIHRoaXMuY3VycmVudF9zdGVwICkge1xuXHRcdFx0Y2FzZSAxOlxuXHRcdFx0XHR2YXIgbGFiZWwgPSB0aGlzLmdldExhYmVsKCk7XG5cdFx0XHRcdGxhYmVsLnRleHQoICQuaTE4bi5fKCAnQ2hvb3NlIHJvbGUgYW5kIHBlcm1pc3Npb24gYWN0aW9ucycgKSApO1xuXG5cdFx0XHRcdHRoaXMuY29udGVudF9kaXYuYXBwZW5kKCBsYWJlbCApO1xuXG5cdFx0XHRcdC8vUm9sZVxuXHRcdFx0XHR2YXIgZm9ybV9pdGVtID0gJCggR2xvYmFsLmxvYWRXaWRnZXQoICdnbG9iYWwvd2lkZ2V0cy93aXphcmRfZm9ybV9pdGVtL1dpemFyZEZvcm1JdGVtLmh0bWwnICkgKTtcblx0XHRcdFx0dmFyIGZvcm1faXRlbV9sYWJlbCA9IGZvcm1faXRlbS5maW5kKCAnLmZvcm0taXRlbS1sYWJlbCcgKTtcblx0XHRcdFx0dmFyIGZvcm1faXRlbV9pbnB1dF9kaXYgPSBmb3JtX2l0ZW0uZmluZCggJy5mb3JtLWl0ZW0taW5wdXQtZGl2JyApO1xuXG5cdFx0XHRcdHZhciBjb21ib2JveCA9IHRoaXMuZ2V0Q29tYm9Cb3goICdyb2xlJywgZmFsc2UgKTtcblxuXHRcdFx0XHRmb3JtX2l0ZW1fbGFiZWwudGV4dCggJC5pMThuLl8oICdSb2xlJyApICk7XG5cdFx0XHRcdGZvcm1faXRlbV9pbnB1dF9kaXYuYXBwZW5kKCBjb21ib2JveCApO1xuXG5cdFx0XHRcdHRoaXMuY29udGVudF9kaXYuYXBwZW5kKCBmb3JtX2l0ZW0gKTtcblxuXHRcdFx0XHQvL1Blcm1pc3Npb25cblx0XHRcdFx0Zm9ybV9pdGVtID0gJCggR2xvYmFsLmxvYWRXaWRnZXQoICdnbG9iYWwvd2lkZ2V0cy93aXphcmRfZm9ybV9pdGVtL1dpemFyZEZvcm1JdGVtLmh0bWwnICkgKTtcblx0XHRcdFx0Zm9ybV9pdGVtX2xhYmVsID0gZm9ybV9pdGVtLmZpbmQoICcuZm9ybS1pdGVtLWxhYmVsJyApO1xuXHRcdFx0XHRmb3JtX2l0ZW1faW5wdXRfZGl2ID0gZm9ybV9pdGVtLmZpbmQoICcuZm9ybS1pdGVtLWlucHV0LWRpdicgKTtcblxuXHRcdFx0XHR2YXIgcGVybWlzc2lvbiA9IHRoaXMuZ2V0QUNvbWJvQm94KCBudWxsLCB0cnVlLCAnZ2xvYmFsX29wdGlvbl9jb2x1bW4nLCAncGVybWlzc2lvbicsIGZhbHNlLCAndmFsdWUnICk7XG5cblx0XHRcdFx0Zm9ybV9pdGVtX2xhYmVsLnRleHQoICQuaTE4bi5fKCAnUGVybWlzc2lvbnMnICkgKTtcblx0XHRcdFx0Zm9ybV9pdGVtX2lucHV0X2Rpdi5hcHBlbmQoIHBlcm1pc3Npb24gKTtcblxuXHRcdFx0XHR0aGlzLmNvbnRlbnRfZGl2LmFwcGVuZCggZm9ybV9pdGVtICk7XG5cblx0XHRcdFx0dGhpcy5zdGVwc1dpZGdldERpY1t0aGlzLmN1cnJlbnRfc3RlcF1bY29tYm9ib3guZ2V0RmllbGQoKV0gPSBjb21ib2JveDtcblx0XHRcdFx0dGhpcy5zdGVwc1dpZGdldERpY1t0aGlzLmN1cnJlbnRfc3RlcF1bcGVybWlzc2lvbi5nZXRGaWVsZCgpXSA9IHBlcm1pc3Npb247XG5cblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIDI6XG5cblx0XHRcdFx0bGFiZWwgPSB0aGlzLmdldExhYmVsKCk7XG5cdFx0XHRcdGxhYmVsLnRleHQoICQuaTE4bi5fKCAnQ2hvb3NlIG1vZHVsZXMgYW5kIHN1Yi1tb2R1bGVzJyApICk7XG5cblx0XHRcdFx0dGhpcy5jb250ZW50X2Rpdi5hcHBlbmQoIGxhYmVsICk7XG5cblx0XHRcdFx0Ly9Nb2R1bGVzXG5cdFx0XHRcdGZvcm1faXRlbSA9ICQoIEdsb2JhbC5sb2FkV2lkZ2V0KCAnZ2xvYmFsL3dpZGdldHMvd2l6YXJkX2Zvcm1faXRlbS9XaXphcmRGb3JtSXRlbS5odG1sJyApICk7XG5cdFx0XHRcdGZvcm1faXRlbV9sYWJlbCA9IGZvcm1faXRlbS5maW5kKCAnLmZvcm0taXRlbS1sYWJlbCcgKTtcblx0XHRcdFx0Zm9ybV9pdGVtX2lucHV0X2RpdiA9IGZvcm1faXRlbS5maW5kKCAnLmZvcm0taXRlbS1pbnB1dC1kaXYnICk7XG5cblx0XHRcdFx0dmFyIG1vZHVsZXMgPSB0aGlzLmdldEFDb21ib0JveCggbnVsbCwgdHJ1ZSwgJ2dsb2JhbF9vcHRpb25fY29sdW1uJywgJ3NlY3Rpb25fZ3JvdXAnLCBmYWxzZSwgJ3ZhbHVlJyApO1xuXG5cdFx0XHRcdGZvcm1faXRlbV9sYWJlbC50ZXh0KCAkLmkxOG4uXyggJ01vZHVsZXMnICkgKTtcblx0XHRcdFx0Zm9ybV9pdGVtX2lucHV0X2Rpdi5hcHBlbmQoIG1vZHVsZXMgKTtcblxuXHRcdFx0XHR0aGlzLmNvbnRlbnRfZGl2LmFwcGVuZCggZm9ybV9pdGVtICk7XG5cblx0XHRcdFx0Zm9ybV9pdGVtLmJpbmQoICdmb3JtSXRlbUNoYW5nZScsIGZ1bmN0aW9uKCBlLCB0YXJnZXQgKSB7XG5cdFx0XHRcdFx0dmFyIHNlbGVjdF92YWx1ZSA9IHRhcmdldC5nZXRWYWx1ZSgpO1xuXHRcdFx0XHRcdCR0aGlzLnNldFNlY3Rpb24oIHNlbGVjdF92YWx1ZSwgdHJ1ZSApO1xuXG5cdFx0XHRcdH0gKTtcblxuXHRcdFx0XHQvL1N1YiBNb2R1bGVzXG5cdFx0XHRcdGZvcm1faXRlbSA9ICQoIEdsb2JhbC5sb2FkV2lkZ2V0KCAnZ2xvYmFsL3dpZGdldHMvd2l6YXJkX2Zvcm1faXRlbS9XaXphcmRGb3JtSXRlbS5odG1sJyApICk7XG5cdFx0XHRcdGZvcm1faXRlbV9sYWJlbCA9IGZvcm1faXRlbS5maW5kKCAnLmZvcm0taXRlbS1sYWJlbCcgKTtcblx0XHRcdFx0Zm9ybV9pdGVtX2lucHV0X2RpdiA9IGZvcm1faXRlbS5maW5kKCAnLmZvcm0taXRlbS1pbnB1dC1kaXYnICk7XG5cblx0XHRcdFx0dmFyIHN1Yl9tb2R1bGVzID0gdGhpcy5nZXRBQ29tYm9Cb3goIG51bGwsIHRydWUsICdnbG9iYWxfb3B0aW9uX2NvbHVtbicsICdzZWN0aW9uJywgZmFsc2UsICd2YWx1ZScgKTtcblxuXHRcdFx0XHRmb3JtX2l0ZW1fbGFiZWwudGV4dCggJC5pMThuLl8oICdTdWItTW9kdWxlcycgKSApO1xuXHRcdFx0XHRmb3JtX2l0ZW1faW5wdXRfZGl2LmFwcGVuZCggc3ViX21vZHVsZXMgKTtcblxuXHRcdFx0XHR0aGlzLmNvbnRlbnRfZGl2LmFwcGVuZCggZm9ybV9pdGVtICk7XG5cblx0XHRcdFx0dGhpcy5zdGVwc1dpZGdldERpY1t0aGlzLmN1cnJlbnRfc3RlcF1bbW9kdWxlcy5nZXRGaWVsZCgpXSA9IG1vZHVsZXM7XG5cdFx0XHRcdHRoaXMuc3RlcHNXaWRnZXREaWNbdGhpcy5jdXJyZW50X3N0ZXBdW3N1Yl9tb2R1bGVzLmdldEZpZWxkKCldID0gc3ViX21vZHVsZXM7XG5cblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIDM6XG5cblx0XHRcdFx0bGFiZWwgPSB0aGlzLmdldExhYmVsKCk7XG5cdFx0XHRcdGxhYmVsLnRleHQoICQuaTE4bi5fKCAnV291bGQgeW91IGxpa2UgdG8gYWxsb3csIGRlbnkgb3Igc2ltcGx5IGhpZ2hsaWdodCB0aGUgY2hvc2VuIHBlcm1pc3Npb25zJyApICk7XG5cblx0XHRcdFx0dGhpcy5jb250ZW50X2Rpdi5hcHBlbmQoIGxhYmVsICk7XG5cblx0XHRcdFx0dmFyIHJhZGlvXzEgPSAkKCAnPGlucHV0IHR5cGU9XCJyYWRpb1wiIG5hbWU9XCJhY3Rpb25cIiBpZD1cImFsbG93XCIgdmFsdWU9XCJhbGxvd1wiPjxsYWJlbCBmb3I9XCJhbGxvd1wiPkFsbG93IDwvbGFiZWw+JyApO1xuXHRcdFx0XHR2YXIgcmFkaW9fMiA9ICQoICc8aW5wdXQgdHlwZT1cInJhZGlvXCIgbmFtZT1cImFjdGlvblwiIGlkPVwiZGVueVwiIHZhbHVlPVwiZGVueVwiPjxsYWJlbCBmb3I9XCJkZW55XCI+RGVueSA8L2xhYmVsPicgKTtcblx0XHRcdFx0dmFyIHJhZGlvXzMgPSAkKCAnPGlucHV0IHR5cGU9XCJyYWRpb1wiIG5hbWU9XCJhY3Rpb25cIiBpZD1cImhpZ2hsaWdodFwiIHZhbHVlPVwiaGlnaGxpZ2h0XCI+PGxhYmVsIGZvcj1cImhpZ2hsaWdodFwiPkhpZ2hsaWdodCBPbmx5IDwvbGFiZWw+JyApO1xuXG5cdFx0XHRcdHRoaXMuY29udGVudF9kaXYuYXBwZW5kKCByYWRpb18xICk7XG5cdFx0XHRcdHRoaXMuY29udGVudF9kaXYuYXBwZW5kKCByYWRpb18yICk7XG5cdFx0XHRcdHRoaXMuY29udGVudF9kaXYuYXBwZW5kKCByYWRpb18zICk7XG5cblx0XHRcdFx0dGhpcy5zdGVwc1dpZGdldERpY1t0aGlzLmN1cnJlbnRfc3RlcF1bJ2FsbG93J10gPSByYWRpb18xO1xuXHRcdFx0XHR0aGlzLnN0ZXBzV2lkZ2V0RGljW3RoaXMuY3VycmVudF9zdGVwXVsnZGVueSddID0gcmFkaW9fMjtcblx0XHRcdFx0dGhpcy5zdGVwc1dpZGdldERpY1t0aGlzLmN1cnJlbnRfc3RlcF1bJ2hpZ2hsaWdodCddID0gcmFkaW9fMztcblxuXHRcdFx0XHRicmVhaztcblxuXHRcdH1cblx0fVxuXG5cdHNldFNlY3Rpb24oIHNlY3Rpb25fZ3JvdXBfaWQsIHNlbGVjdF9hbGwgKSB7XG5cdFx0dmFyIGN1cnJlbnRfc3RlcF91aSA9IHRoaXMuc3RlcHNXaWRnZXREaWNbdGhpcy5jdXJyZW50X3N0ZXBdO1xuXG5cdFx0dGhpcy5hcGlfcGVybWlzc2lvbi5nZXRTZWN0aW9uQnlTZWN0aW9uR3JvdXAoIHNlY3Rpb25fZ3JvdXBfaWQsIHtcblx0XHRcdG9uUmVzdWx0OiBmdW5jdGlvbiggcmVzdWx0ICkge1xuXHRcdFx0XHR2YXIgZGF0YSA9IEdsb2JhbC5idWlsZFJlY29yZEFycmF5KCByZXN1bHQuZ2V0UmVzdWx0KCkgKTtcblx0XHRcdFx0Y3VycmVudF9zdGVwX3VpLnNlY3Rpb24uc2V0U291cmNlRGF0YSggZGF0YSApO1xuXHRcdFx0XHRpZiAoIHNlbGVjdF9hbGwgKSB7XG5cdFx0XHRcdFx0Y3VycmVudF9zdGVwX3VpLnNlY3Rpb24uc2V0VmFsdWUoIGRhdGEgKTtcblx0XHRcdFx0fVxuXG5cdFx0XHR9XG5cdFx0fSApO1xuXHR9XG5cblx0YnVpbGRDdXJyZW50U3RlcERhdGEoKSB7XG5cdFx0dmFyICR0aGlzID0gdGhpcztcblx0XHR2YXIgY3VycmVudF9zdGVwX2RhdGEgPSB0aGlzLnN0ZXBzRGF0YURpY1t0aGlzLmN1cnJlbnRfc3RlcF07XG5cdFx0dmFyIGN1cnJlbnRfc3RlcF91aSA9IHRoaXMuc3RlcHNXaWRnZXREaWNbdGhpcy5jdXJyZW50X3N0ZXBdO1xuXG5cdFx0c3dpdGNoICggdGhpcy5jdXJyZW50X3N0ZXAgKSB7XG5cdFx0XHRjYXNlIDE6XG5cblx0XHRcdFx0dGhpcy5hcGlfcGVybWlzc2lvbi5nZXRPcHRpb25zKCAncHJlc2V0Jywge1xuXHRcdFx0XHRcdG9uUmVzdWx0OiBmdW5jdGlvbiggcmVzdWx0ICkge1xuXHRcdFx0XHRcdFx0dmFyIGRhdGEgPSBHbG9iYWwuYnVpbGRSZWNvcmRBcnJheSggcmVzdWx0LmdldFJlc3VsdCgpICk7XG5cblx0XHRcdFx0XHRcdGRhdGEudW5zaGlmdCggeyB2YWx1ZTogMCwgbGFiZWw6ICQuaTE4bi5fKCAnQ1VTVE9NJyApIH0gKTtcblxuXHRcdFx0XHRcdFx0Y3VycmVudF9zdGVwX3VpLnJvbGUuc2V0U291cmNlRGF0YSggZGF0YSApO1xuXG5cdFx0XHRcdFx0XHRpZiAoIGN1cnJlbnRfc3RlcF9kYXRhICkge1xuXHRcdFx0XHRcdFx0XHRjdXJyZW50X3N0ZXBfdWkucm9sZS5zZXRWYWx1ZSggY3VycmVudF9zdGVwX2RhdGEucm9sZSApO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRpZiAoIExvY2FsQ2FjaGVEYXRhLmN1cnJlbnRfb3Blbl9wcmltYXJ5X2NvbnRyb2xsZXIuY3VycmVudF9lZGl0X3JlY29yZCAmJiBMb2NhbENhY2hlRGF0YS5jdXJyZW50X29wZW5fcHJpbWFyeV9jb250cm9sbGVyLmN1cnJlbnRfZWRpdF9yZWNvcmQubmFtZSApIHtcblx0XHRcdFx0XHRcdFx0dmFyIHNlbGVjdGVkX2NvbnRyb2xfbmFtZSA9IExvY2FsQ2FjaGVEYXRhLmN1cnJlbnRfb3Blbl9wcmltYXJ5X2NvbnRyb2xsZXIuY3VycmVudF9lZGl0X3JlY29yZC5uYW1lLnRvTG93ZXJDYXNlKCk7XG5cdFx0XHRcdFx0XHRcdGZvciAoIHZhciBuIGluIGRhdGEgKSB7XG5cdFx0XHRcdFx0XHRcdFx0aWYgKCBkYXRhW25dLmxhYmVsLnRvTG93ZXJDYXNlKCkgPT0gc2VsZWN0ZWRfY29udHJvbF9uYW1lICkge1xuXHRcdFx0XHRcdFx0XHRcdFx0Y3VycmVudF9zdGVwX3VpLnJvbGUuc2V0U2VsZWN0ZWRJbmRleCggbiApO1xuXHRcdFx0XHRcdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0gKTtcblxuXHRcdFx0XHR0aGlzLmFwaV9wZXJtaXNzaW9uLmdldE9wdGlvbnMoICdjb21tb25fcGVybWlzc2lvbnMnLCB7XG5cdFx0XHRcdFx0b25SZXN1bHQ6IGZ1bmN0aW9uKCByZXN1bHQgKSB7XG5cdFx0XHRcdFx0XHR2YXIgZGF0YSA9IEdsb2JhbC5idWlsZFJlY29yZEFycmF5KCByZXN1bHQuZ2V0UmVzdWx0KCkgKTtcblxuXHRcdFx0XHRcdFx0Y3VycmVudF9zdGVwX3VpLnBlcm1pc3Npb24uc2V0U291cmNlRGF0YSggZGF0YSApO1xuXG5cdFx0XHRcdFx0XHRpZiAoIGN1cnJlbnRfc3RlcF9kYXRhICkge1xuXHRcdFx0XHRcdFx0XHRjdXJyZW50X3N0ZXBfdWkucGVybWlzc2lvbi5zZXRWYWx1ZSggY3VycmVudF9zdGVwX2RhdGEucGVybWlzc2lvbiApO1xuXHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0Y3VycmVudF9zdGVwX3VpLnBlcm1pc3Npb24uc2V0VmFsdWUoIGRhdGEgKTtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSApO1xuXG5cdFx0XHRcdGJyZWFrO1xuXG5cdFx0XHRjYXNlIDI6XG5cblx0XHRcdFx0dGhpcy5hcGlfcGVybWlzc2lvbi5nZXRPcHRpb25zKCAnc2VjdGlvbl9ncm91cCcsIHtcblx0XHRcdFx0XHRvblJlc3VsdDogZnVuY3Rpb24oIHJlc3VsdCApIHtcblxuXHRcdFx0XHRcdFx0dmFyIGRhdGEgPSBHbG9iYWwuYnVpbGRSZWNvcmRBcnJheSggcmVzdWx0LmdldFJlc3VsdCgpICk7XG5cblx0XHRcdFx0XHRcdGN1cnJlbnRfc3RlcF91aS5zZWN0aW9uX2dyb3VwLnNldFNvdXJjZURhdGEoIGRhdGEgKTtcblxuXHRcdFx0XHRcdFx0aWYgKCBjdXJyZW50X3N0ZXBfZGF0YSApIHtcblxuXHRcdFx0XHRcdFx0XHRpZiAoIGN1cnJlbnRfc3RlcF9kYXRhLnNlY3Rpb25fZ3JvdXAgJiYgY3VycmVudF9zdGVwX2RhdGEuc2VjdGlvbl9ncm91cC5sZW5ndGggPiAwICkge1xuXHRcdFx0XHRcdFx0XHRcdGN1cnJlbnRfc3RlcF91aS5zZWN0aW9uX2dyb3VwLnNldFZhbHVlKCBjdXJyZW50X3N0ZXBfZGF0YS5zZWN0aW9uX2dyb3VwICk7XG5cdFx0XHRcdFx0XHRcdFx0JHRoaXMuc2V0U2VjdGlvbiggY3VycmVudF9zdGVwX2RhdGEuc2VjdGlvbl9ncm91cCApO1xuXHRcdFx0XHRcdFx0XHRcdGN1cnJlbnRfc3RlcF91aS5zZWN0aW9uLnNldFZhbHVlKCBjdXJyZW50X3N0ZXBfZGF0YS5zZWN0aW9uICk7XG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0Y3VycmVudF9zdGVwX3VpLnNlY3Rpb25fZ3JvdXAuc2V0VmFsdWUoIGRhdGFbMF0udmFsdWUgKTtcblx0XHRcdFx0XHRcdFx0JHRoaXMuc2V0U2VjdGlvbiggZGF0YVswXS52YWx1ZSwgdHJ1ZSApO1xuXG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0gKTtcblxuXHRcdFx0XHRicmVhaztcblxuXHRcdFx0Y2FzZSAzOlxuXG5cdFx0XHRcdGlmICggY3VycmVudF9zdGVwX2RhdGEgKSB7XG5cdFx0XHRcdFx0Y3VycmVudF9zdGVwX3VpW2N1cnJlbnRfc3RlcF9kYXRhLmFjdGlvbl0ucHJvcCggJ2NoZWNrZWQnLCAnY2hlY2tlZCcgKTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRjdXJyZW50X3N0ZXBfdWlbJ2FsbG93J10ucHJvcCggJ2NoZWNrZWQnLCAnY2hlY2tlZCcgKTtcblxuXHRcdFx0XHR9XG5cdFx0XHRcdGJyZWFrO1xuXG5cdFx0fVxuXHR9XG5cblx0b25Eb25lQ2xpY2soKSB7XG5cdFx0dmFyICR0aGlzID0gdGhpcztcblx0XHRzdXBlci5vbkRvbmVDbGljaygpO1xuXHRcdHRoaXMuc2F2ZUN1cnJlbnRTdGVwKCk7XG5cblx0XHR2YXIgcHJlc2V0ID0gdGhpcy5zdGVwc0RhdGFEaWNbMV0ucm9sZTtcblx0XHR2YXIgc2VjdGlvbnMgPSB0aGlzLnN0ZXBzRGF0YURpY1syXS5zZWN0aW9uO1xuXHRcdHZhciBwZXJtaXNzaW9uID0gdGhpcy5zdGVwc0RhdGFEaWNbMV0ucGVybWlzc2lvbjtcblx0XHR2YXIgcGVybWlzc2lvbl9zdGF0dXMgPSB0aGlzLnN0ZXBzRGF0YURpY1szXS5hY3Rpb247XG5cblx0XHR0aGlzLmFwaV9wZXJtaXNzaW9uLmZpbHRlclByZXNldFBlcm1pc3Npb25zKCBwcmVzZXQsIHNlY3Rpb25zLCBwZXJtaXNzaW9uLCB7XG5cdFx0XHRvblJlc3VsdDogZnVuY3Rpb24oIHJlc3VsdCApIHtcblxuXHRcdFx0XHRpZiAoICFyZXN1bHQuaXNWYWxpZCApIHtcblx0XHRcdFx0XHRUQWxlcnRNYW5hZ2VyLnNob3dFcnJvckFsZXJ0KCByZXN1bHQgKTtcblx0XHRcdFx0XHQkdGhpcy5vbkNsb3NlQ2xpY2soKTtcblx0XHRcdFx0fSBlbHNlIHtcblxuXHRcdFx0XHRcdCR0aGlzLm9uQ2xvc2VDbGljaygpO1xuXHRcdFx0XHRcdGlmICggJHRoaXMuY2FsbF9iYWNrICkge1xuXHRcdFx0XHRcdFx0JHRoaXMuY2FsbF9iYWNrKCByZXN1bHQuZ2V0UmVzdWx0KCksIHBlcm1pc3Npb25fc3RhdHVzICk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSApO1xuXHR9XG5cblx0c2F2ZUN1cnJlbnRTdGVwKCkge1xuXHRcdHRoaXMuc3RlcHNEYXRhRGljW3RoaXMuY3VycmVudF9zdGVwXSA9IHt9O1xuXHRcdHZhciBjdXJyZW50X3N0ZXBfZGF0YSA9IHRoaXMuc3RlcHNEYXRhRGljW3RoaXMuY3VycmVudF9zdGVwXTtcblx0XHR2YXIgY3VycmVudF9zdGVwX3VpID0gdGhpcy5zdGVwc1dpZGdldERpY1t0aGlzLmN1cnJlbnRfc3RlcF07XG5cdFx0c3dpdGNoICggdGhpcy5jdXJyZW50X3N0ZXAgKSB7XG5cdFx0XHRjYXNlIDM6XG5cdFx0XHRcdGZvciAoIHZhciBrZXkgaW4gY3VycmVudF9zdGVwX3VpICkge1xuXHRcdFx0XHRcdGlmICggIWN1cnJlbnRfc3RlcF91aS5oYXNPd25Qcm9wZXJ0eSgga2V5ICkgKSB7XG5cdFx0XHRcdFx0XHRjb250aW51ZTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRpZiAoIGN1cnJlbnRfc3RlcF91aVtrZXldLnByb3AoICdjaGVja2VkJyApIHx8IGN1cnJlbnRfc3RlcF91aVtrZXldWzBdLmNoZWNrZWQgPT09IHRydWUgKSB7XG5cdFx0XHRcdFx0XHRjdXJyZW50X3N0ZXBfZGF0YS5hY3Rpb24gPSBrZXk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdH1cblx0XHRcdFx0YnJlYWs7XG5cblx0XHRcdGRlZmF1bHQ6XG5cblx0XHRcdFx0Zm9yICggdmFyIGtleSBpbiBjdXJyZW50X3N0ZXBfdWkgKSB7XG5cdFx0XHRcdFx0aWYgKCAhY3VycmVudF9zdGVwX3VpLmhhc093blByb3BlcnR5KCBrZXkgKSApIHtcblx0XHRcdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdGN1cnJlbnRfc3RlcF9kYXRhW2tleV0gPSBjdXJyZW50X3N0ZXBfdWlba2V5XS5nZXRWYWx1ZSgpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGJyZWFrO1xuXHRcdH1cblx0fVxuXG5cdHNldERlZmF1bHREYXRhVG9TdGVwcygpIHtcblxuXHRcdGlmICggIXRoaXMuZGVmYXVsdF9kYXRhICkge1xuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fVxuXHR9XG5cbn0iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///1827\n")}}]);