"use strict";(self.webpackChunktimetrex=self.webpackChunktimetrex||[]).push([["reports-t4a_summary-T4ASummaryReportViewController"],{9994:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"T4ASummaryReportViewController\": () => (/* binding */ T4ASummaryReportViewController)\n/* harmony export */ });\n/* provided dependency */ var _ = __webpack_require__(9050);\n/* provided dependency */ var $ = __webpack_require__(9755);\nclass T4ASummaryReportViewController extends ReportBaseViewController {\n\tconstructor( options = {} ) {\n\t\t_.defaults( options, {\n\n\t\t\ttype_array: null\n\t\t} );\n\n\t\tsuper( options );\n\t}\n\n\tinitReport( options ) {\n\t\tthis.script_name = 'T4ASummaryReport';\n\t\tthis.viewId = 'T4ASummaryReport';\n\t\tthis.context_menu_name = $.i18n._( 'T4A Summary' );\n\t\tthis.navigation_label = $.i18n._( 'Saved Report' );\n\t\tthis.view_file = 'T4ASummaryReportView.html';\n\t\tthis.api = TTAPI.APIT4ASummaryReport;\n\t\tthis.api_paystub = TTAPI.APIPayStubEntryAccount;\n\t\tthis.include_form_setup = true;\n\t}\n\n\tgetCustomContextMenuModel() {\n\t\tvar context_menu_model = {\n\t\t\tgroups: {\n\t\t\t\tform: {\n\t\t\t\t\tlabel: $.i18n._( 'Form' ),\n\t\t\t\t\tid: this.viewId + 'Form'\n\t\t\t\t}\n\t\t\t},\n\t\t\texclude: [],\n\t\t\tinclude: [\n\t\t\t\t{\n\t\t\t\t\tlabel: $.i18n._( 'Form' ),\n\t\t\t\t\tid: 'view_print',\n\t\t\t\t\taction_group_header: true,\n\t\t\t\t\taction_group: 'view_form',\n\t\t\t\t\tgroup: 'form',\n\t\t\t\t\tmenu_align: 'right',\n\t\t\t\t\ticon: 'view-35x35.png',\n\t\t\t\t\ttype: 2\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: $.i18n._( 'View: Government (Multiple Employees/Page)' ),\n\t\t\t\t\tid: 'pdf_form_government',\n\t\t\t\t\taction_group: 'view_form',\n\t\t\t\t\tgroup: 'form',\n\t\t\t\t\tmenu_align: 'right',\n\t\t\t\t\ticon: 'view-35x35.png',\n\t\t\t\t\ttype: 2,\n\t\t\t\t\tsort_order: 10100\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: $.i18n._( 'View: Employee (One Employee/Page)' ),\n\t\t\t\t\tid: 'pdf_form',\n\t\t\t\t\taction_group: 'view_form',\n\t\t\t\t\tgroup: 'form',\n\t\t\t\t\tmenu_align: 'right',\n\t\t\t\t\ticon: 'view-35x35.png',\n\t\t\t\t\ttype: 2,\n\t\t\t\t\tsort_order: 10200\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: $.i18n._( 'eFile' ),\n\t\t\t\t\tid: 'e_file_xml',\n\t\t\t\t\taction_group: 'view_form',\n\t\t\t\t\tgroup: 'form',\n\t\t\t\t\tmenu_align: 'right',\n\t\t\t\t\tsort_order: 10300\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: $.i18n._( 'Save Setup' ),\n\t\t\t\t\tid: 'save_setup',\n\t\t\t\t\taction_group: 'view_form',\n\t\t\t\t\tgroup: 'form',\n\t\t\t\t\tmenu_align: 'right',\n\t\t\t\t\tsort_order: 10400\n\t\t\t\t},\n\t\t\t]\n\t\t};\n\n\t\tif ( ( Global.getProductEdition() >= 15 ) ) {\n\t\t\tcontext_menu_model.include.push( {\n\t\t\t\tlabel: $.i18n._( 'Publish Employee Forms' ),\n\t\t\t\tid: 'pdf_form_publish_employee',\n\t\t\t\taction_group: 'view_form',\n\t\t\t\tmenu_align: 'right',\n\t\t\t\tsort_order: 10250\n\t\t\t} );\n\t\t}\n\n\t\treturn context_menu_model;\n\t}\n\n\tinitOptions( callBack ) {\n\t\tvar $this = this;\n\t\tvar options = [\n\t\t\t{ option_name: 'page_orientation' },\n\t\t\t{ option_name: 'font_size' },\n\t\t\t{ option_name: 'chart_display_mode' },\n\t\t\t{ option_name: 'chart_type' },\n\t\t\t{ option_name: 'templates' },\n\t\t\t{ option_name: 'setup_fields' },\n\t\t\t{ option_name: 'type' },\n\t\t\t{ option_name: 'auto_refresh' }\n\t\t];\n\n\t\tthis.initDropDownOptions( options, function( result ) {\n\t\t\tTTAPI.APICompany.getOptions( 'province', 'CA', {\n\t\t\t\tonResult: function( provinceResult ) {\n\t\t\t\t\t$this.province_array = Global.buildRecordArray( provinceResult.getResult() );\n\n\t\t\t\t\tcallBack( result ); // First to initialize drop down options, and then to initialize edit view UI.\n\t\t\t\t}\n\t\t\t} );\n\n\t\t} );\n\t}\n\n\tonCustomContextClick( id ) {\n\t\tswitch ( id ) {\n\t\t\tcase 'e_file_xml': //All report view\n\t\t\t\tthis.onReportMenuClick( 'efile_xml' );\n\t\t\t\tbreak;\n\t\t\tcase 'pdf_form':\n\t\t\tcase 'pdf_form_government':\n\t\t\tcase 'pdf_form_publish_employee':\n\t\t\t\tthis.onReportMenuClick( id );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\treturn false; //FALSE tells onContextMenuClick() to keep processing.\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tonReportMenuClick( id ) {\n\t\tthis.onViewClick( id );\n\t}\n\n\tbuildFormSetupUI() {\n\n\t\tvar $this = this;\n\n\t\tvar tab3 = this.edit_view_tab.find( '#tab_form_setup' );\n\n\t\tvar tab3_column1 = tab3.find( '.first-column' );\n\n\t\tthis.edit_view_tabs[3] = [];\n\n\t\tthis.edit_view_tabs[3].push( tab3_column1 );\n\n\t\t//Status\n\n\t\tvar form_item_input = Global.loadWidgetByName( FormItemType.COMBO_BOX );\n\t\tform_item_input.TComboBox( { field: 'status_id', set_empty: false } );\n\t\tform_item_input.setSourceData( $this.type_array );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Status' ), form_item_input, tab3_column1 );\n\n\t\t//Pension Or Superannuation (Box: 16)\n\t\tvar v_box = $( '
' );\n\n\t\t//Include\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'pension_include_pay_stub_entry_account'\n\t\t} );\n\n\t\tvar form_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );\n\n\t\tv_box.append( form_item );\n\t\tv_box.append( '' );\n\n\t\t//Exclude\n\t\tvar form_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input_1.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'pension_exclude_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );\n\n\t\tv_box.append( form_item );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Pension Or Superannuation (Box: 16)' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true );\n\n\t\t//Lump-sum Payments (Box: 18)\n\t\tv_box = $( '' );\n\n\t\t//Include\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'lump_sum_payment_include_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );\n\n\t\tv_box.append( form_item );\n\t\tv_box.append( '' );\n\n\t\t//Exclude\n\t\tform_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input_1.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'lump_sum_payment_exclude_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );\n\n\t\tv_box.append( form_item );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Lump-sum Payments (Box: 18)' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true );\n\n\t\t//Self-Employed Commisions (Box: 20)\n\t\tv_box = $( '' );\n\n\t\t//Include\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'self_employed_commission_include_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );\n\n\t\tv_box.append( form_item );\n\t\tv_box.append( '' );\n\n\t\t//Exclude\n\t\tform_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input_1.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'self_employed_commission_exclude_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );\n\n\t\tv_box.append( form_item );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Self-Employed Commisions (Box: 20)' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true );\n\n\t\t//Income Tax Deducted (Box: 22)\n\t\tv_box = $( '' );\n\n\t\t//Include\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'income_tax_include_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );\n\n\t\tv_box.append( form_item );\n\t\tv_box.append( '' );\n\n\t\t//Exclude\n\t\tform_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input_1.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'income_tax_exclude_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );\n\n\t\tv_box.append( form_item );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Income Tax Deducted (Box 22)' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true );\n\n\t\t//Annuities (Box: 27)\n\t\tv_box = $( '' );\n\n\t\t//Include\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'annuities_include_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );\n\n\t\tv_box.append( form_item );\n\t\tv_box.append( '' );\n\n\t\t//Exclude\n\t\tform_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input_1.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'annuities_exclude_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );\n\n\t\tv_box.append( form_item );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Annuities (Box 24)' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true );\n\n\t\t//Fees for Services (Box: 48)\n\t\tv_box = $( '' );\n\n\t\t//Include\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'service_fees_include_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );\n\n\t\tv_box.append( form_item );\n\t\tv_box.append( '' );\n\n\t\t//Exclude\n\t\tform_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input_1.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'service_fees_exclude_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );\n\n\t\tv_box.append( form_item );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Fees for Services (Box: 48)' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true );\n\n\t\t//Box [0]\n\t\tv_box = $( '' );\n\n\t\t//Include\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'box_0_include_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );\n\n\t\tv_box.append( form_item );\n\t\tv_box.append( '' );\n\n\t\t//Exclude\n\t\tform_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input_1.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'box_0_exclude_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );\n\n\t\tv_box.append( form_item );\n\n\t\tvar custom_label_widget = $( '' );\n\t\tvar label = $( '' );\n\t\tvar box = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tbox.TTextInput( { field: 'box_0_box', width: 50 } );\n\t\tbox.css( 'float', 'right' );\n\t\tbox.bind( 'formItemChange', function( e, target ) {\n\t\t\t$this.onFormItemChange( target );\n\t\t} );\n\n\t\tlabel.text( $.i18n._( 'Box' ) );\n\n\t\tthis.edit_view_ui_dic[box.getField()] = box;\n\n\t\tcustom_label_widget.append( box );\n\t\tcustom_label_widget.append( label );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Box' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true, false, false, custom_label_widget );\n\n\t\t//Box [1]\n\t\tv_box = $( '' );\n\n\t\t//Include\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'box_1_include_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );\n\n\t\tv_box.append( form_item );\n\t\tv_box.append( '' );\n\n\t\t//Exclude\n\t\tform_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input_1.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'box_1_exclude_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );\n\n\t\tv_box.append( form_item );\n\n\t\tcustom_label_widget = $( '' );\n\t\tlabel = $( '' );\n\t\tbox = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tbox.TTextInput( { field: 'box_1_box', width: 50 } );\n\t\tbox.css( 'float', 'right' );\n\t\tbox.bind( 'formItemChange', function( e, target ) {\n\t\t\t$this.onFormItemChange( target );\n\t\t} );\n\n\t\tlabel.text( $.i18n._( 'Box' ) );\n\n\t\tthis.edit_view_ui_dic[box.getField()] = box;\n\n\t\tcustom_label_widget.append( box );\n\t\tcustom_label_widget.append( label );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Box' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true, false, false, custom_label_widget );\n\n\t\t//Box [2]\n\t\tv_box = $( '' );\n\n\t\t//Include\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'box_2_include_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );\n\n\t\tv_box.append( form_item );\n\t\tv_box.append( '' );\n\n\t\t//Exclude\n\t\tform_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input_1.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'box_2_exclude_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );\n\n\t\tv_box.append( form_item );\n\n\t\tcustom_label_widget = $( '' );\n\t\tlabel = $( '' );\n\t\tbox = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tbox.TTextInput( { field: 'box_2_box', width: 50 } );\n\t\tbox.css( 'float', 'right' );\n\t\tbox.bind( 'formItemChange', function( e, target ) {\n\t\t\t$this.onFormItemChange( target );\n\t\t} );\n\n\t\tlabel.text( $.i18n._( 'Box' ) );\n\n\t\tthis.edit_view_ui_dic[box.getField()] = box;\n\n\t\tcustom_label_widget.append( box );\n\t\tcustom_label_widget.append( label );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Box' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true, false, false, custom_label_widget );\n\n\t\t//Box [3]\n\t\tv_box = $( '' );\n\n\t\t//Include\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'box_3_include_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );\n\n\t\tv_box.append( form_item );\n\t\tv_box.append( '' );\n\n\t\t//Exclude\n\t\tform_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input_1.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'box_3_exclude_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );\n\n\t\tv_box.append( form_item );\n\n\t\tcustom_label_widget = $( '' );\n\t\tlabel = $( '' );\n\t\tbox = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tbox.TTextInput( { field: 'box_3_box', width: 50 } );\n\t\tbox.css( 'float', 'right' );\n\t\tbox.bind( 'formItemChange', function( e, target ) {\n\t\t\t$this.onFormItemChange( target );\n\t\t} );\n\n\t\tlabel.text( $.i18n._( 'Box' ) );\n\n\t\tthis.edit_view_ui_dic[box.getField()] = box;\n\n\t\tcustom_label_widget.append( box );\n\t\tcustom_label_widget.append( label );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Box' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true, false, false, custom_label_widget );\n\n\t\t//Box [4]\n\t\tv_box = $( '' );\n\n\t\t//Include\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'box_4_include_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );\n\n\t\tv_box.append( form_item );\n\t\tv_box.append( '' );\n\n\t\t//Exclude\n\t\tform_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input_1.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'box_4_exclude_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );\n\n\t\tv_box.append( form_item );\n\n\t\tcustom_label_widget = $( '' );\n\t\tlabel = $( '' );\n\t\tbox = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tbox.TTextInput( { field: 'box_4_box', width: 50 } );\n\t\tbox.css( 'float', 'right' );\n\t\tbox.bind( 'formItemChange', function( e, target ) {\n\t\t\t$this.onFormItemChange( target );\n\t\t} );\n\n\t\tlabel.text( $.i18n._( 'Box' ) );\n\n\t\tthis.edit_view_ui_dic[box.getField()] = box;\n\n\t\tcustom_label_widget.append( box );\n\t\tcustom_label_widget.append( label );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Box' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true, false, false, custom_label_widget );\n\n\t\t//Box [5]\n\t\tv_box = $( '' );\n\n\t\t//Include\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'box_5_include_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input, $.i18n._( 'Include' ) );\n\n\t\tv_box.append( form_item );\n\t\tv_box.append( '' );\n\n\t\t//Exclude\n\t\tform_item_input_1 = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input_1.AComboBox( {\n\t\t\tapi_class: TTAPI.APIPayStubEntryAccount,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_PayStubAccount',\n\t\t\tshow_search_inputs: true,\n\t\t\tset_empty: true,\n\t\t\tfield: 'box_5_exclude_pay_stub_entry_account'\n\t\t} );\n\n\t\tform_item = this.putInputToInsideFormItem( form_item_input_1, $.i18n._( 'Exclude' ) );\n\n\t\tv_box.append( form_item );\n\n\t\tcustom_label_widget = $( '' );\n\t\tlabel = $( '' );\n\t\tbox = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tbox.TTextInput( { field: 'box_5_box', width: 50 } );\n\t\tbox.css( 'float', 'right' );\n\t\tbox.bind( 'formItemChange', function( e, target ) {\n\t\t\t$this.onFormItemChange( target );\n\t\t} );\n\n\t\tlabel.text( $.i18n._( 'Box' ) );\n\n\t\tthis.edit_view_ui_dic[box.getField()] = box;\n\n\t\tcustom_label_widget.append( box );\n\t\tcustom_label_widget.append( label );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Box' ), [form_item_input, form_item_input_1], tab3_column1, '', v_box, false, true, false, false, custom_label_widget );\n\n\t\t//Remittances Paid in Year\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\n\t\tform_item_input.TTextInput( { field: 'remittances_paid', width: 120 } );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Remittances Paid in Year' ), form_item_input, tab3_column1 );\n\t}\n\n\tgetFormSetupData() {\n\t\tvar other = {};\n\t\tother.pension = {\n\t\t\tinclude_pay_stub_entry_account: this.current_edit_record.pension_include_pay_stub_entry_account,\n\t\t\texclude_pay_stub_entry_account: this.current_edit_record.pension_exclude_pay_stub_entry_account\n\t\t};\n\n\t\tother.lump_sum_payment = {\n\t\t\tinclude_pay_stub_entry_account: this.current_edit_record.lump_sum_payment_include_pay_stub_entry_account,\n\t\t\texclude_pay_stub_entry_account: this.current_edit_record.lump_sum_payment_exclude_pay_stub_entry_account\n\t\t};\n\n\t\tother.self_employed_commission = {\n\t\t\tinclude_pay_stub_entry_account: this.current_edit_record.self_employed_commission_include_pay_stub_entry_account,\n\t\t\texclude_pay_stub_entry_account: this.current_edit_record.self_employed_commission_exclude_pay_stub_entry_account\n\t\t};\n\n\t\tother.income_tax = {\n\t\t\tinclude_pay_stub_entry_account: this.current_edit_record.income_tax_include_pay_stub_entry_account,\n\t\t\texclude_pay_stub_entry_account: this.current_edit_record.income_tax_exclude_pay_stub_entry_account\n\t\t};\n\n\t\tother.annuities = {\n\t\t\tinclude_pay_stub_entry_account: this.current_edit_record.annuities_include_pay_stub_entry_account,\n\t\t\texclude_pay_stub_entry_account: this.current_edit_record.annuities_exclude_pay_stub_entry_account\n\t\t};\n\n\t\tother.service_fees = {\n\t\t\tinclude_pay_stub_entry_account: this.current_edit_record.service_fees_include_pay_stub_entry_account,\n\t\t\texclude_pay_stub_entry_account: this.current_edit_record.service_fees_exclude_pay_stub_entry_account\n\t\t};\n\n\t\tother.other_box = [];\n\n\t\tother.other_box.push( {\n\t\t\tbox: this.current_edit_record.box_0_box,\n\t\t\tinclude_pay_stub_entry_account: this.current_edit_record.box_0_include_pay_stub_entry_account,\n\t\t\texclude_pay_stub_entry_account: this.current_edit_record.box_0_exclude_pay_stub_entry_account\n\t\t} );\n\n\t\tother.other_box.push( {\n\t\t\tbox: this.current_edit_record.box_1_box,\n\t\t\tinclude_pay_stub_entry_account: this.current_edit_record.box_1_include_pay_stub_entry_account,\n\t\t\texclude_pay_stub_entry_account: this.current_edit_record.box_1_exclude_pay_stub_entry_account\n\t\t} );\n\n\t\tother.other_box.push( {\n\t\t\tbox: this.current_edit_record.box_2_box,\n\t\t\tinclude_pay_stub_entry_account: this.current_edit_record.box_2_include_pay_stub_entry_account,\n\t\t\texclude_pay_stub_entry_account: this.current_edit_record.box_2_exclude_pay_stub_entry_account\n\t\t} );\n\n\t\tother.other_box.push( {\n\t\t\tbox: this.current_edit_record.box_3_box,\n\t\t\tinclude_pay_stub_entry_account: this.current_edit_record.box_3_include_pay_stub_entry_account,\n\t\t\texclude_pay_stub_entry_account: this.current_edit_record.box_3_exclude_pay_stub_entry_account\n\t\t} );\n\n\t\tother.other_box.push( {\n\t\t\tbox: this.current_edit_record.box_4_box,\n\t\t\tinclude_pay_stub_entry_account: this.current_edit_record.box_4_include_pay_stub_entry_account,\n\t\t\texclude_pay_stub_entry_account: this.current_edit_record.box_4_exclude_pay_stub_entry_account\n\t\t} );\n\n\t\tother.other_box.push( {\n\t\t\tbox: this.current_edit_record.box_5_box,\n\t\t\tinclude_pay_stub_entry_account: this.current_edit_record.box_5_include_pay_stub_entry_account,\n\t\t\texclude_pay_stub_entry_account: this.current_edit_record.box_5_exclude_pay_stub_entry_account\n\t\t} );\n\n\t\tother.status_id = this.current_edit_record.status_id;\n\n\t\tother.remittances_paid = this.current_edit_record.remittances_paid;\n\n\t\treturn other;\n\t}\n\n\t/* jshint ignore:start */\n\tsetFormSetupData( res_data ) {\n\n\t\tif ( !res_data ) {\n\t\t\tthis.show_empty_message = true;\n\t\t} else {\n\t\t\tlet batch_get_real_data = this.processFormSetupDataAndAddToBatch( res_data, [\n\t\t\t\t{ data: _.get(res_data, 'pension'), field_key: 'pension', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },\n\t\t\t\t{ data: _.get(res_data, 'lump_sum_payment'), field_key: 'lump_sum_payment', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },\n\t\t\t\t{ data: _.get(res_data, 'self_employed_commission'), field_key: 'self_employed_commission', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },\n\t\t\t\t{ data: _.get(res_data, 'income_tax'), field_key: 'income_tax', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },\n\t\t\t\t{ data: _.get(res_data, 'annuities'), field_key: 'annuities', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },\n\t\t\t\t{ data: _.get(res_data, 'service_fees'), field_key: 'service_fees', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },\n\t\t\t\t{ data: _.get(res_data, 'status_id'), field_key: 'status_id', api: null },\n\t\t\t\t{ data: _.get(res_data, 'remittances_paid'), field_key: 'remittances_paid', api: null },\n\t\t\t\t{ data: _.get(res_data, ['other_box', 0 ]), field_key: 'box_0', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },\n\t\t\t\t{ data: _.get(res_data, ['other_box', 1 ]), field_key: 'box_1', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },\n\t\t\t\t{ data: _.get(res_data, ['other_box', 2 ]), field_key: 'box_2', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },\n\t\t\t\t{ data: _.get(res_data, ['other_box', 3 ]), field_key: 'box_3', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },\n\t\t\t\t{ data: _.get(res_data, ['other_box', 4 ]), field_key: 'box_4', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },\n\t\t\t\t{ data: _.get(res_data, ['other_box', 5 ]), field_key: 'box_5', api: this.api_paystub, api_method: 'getPayStubEntryAccount' },\n\t\t\t] );\n\n\t\t\tthis.getBatchedRealFormDataFromAPI( batch_get_real_data );\n\t\t}\n\t}\n\n\t/* jshint ignore:end */\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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O0FBQ0E7QUFDQSxJQUFJOztBQUVKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7QUFFSjtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7O0FBRUo7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOztBQUVKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7QUFFSjs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLE1BQU0sTUFBTSxDQUFDLDhHQUE4RztBQUMzSCxNQUFNLE1BQU0sQ0FBQyxnSUFBZ0k7QUFDN0ksTUFBTSxNQUFNLENBQUMsZ0pBQWdKO0FBQzdKLE1BQU0sTUFBTSxDQUFDLG9IQUFvSDtBQUNqSSxNQUFNLE1BQU0sQ0FBQyxrSEFBa0g7QUFDL0gsTUFBTSxNQUFNLENBQUMsd0hBQXdIO0FBQ3JJLE1BQU0sTUFBTSxDQUFDLGdFQUFnRTtBQUM3RSxNQUFNLE1BQU0sQ0FBQyw4RUFBOEU7QUFDM0YsTUFBTSxNQUFNLENBQUMsb0hBQW9IO0FBQ2pJLE1BQU0sTUFBTSxDQUFDLG9IQUFvSDtBQUNqSSxNQUFNLE1BQU0sQ0FBQyxvSEFBb0g7QUFDakksTUFBTSxNQUFNLENBQUMsb0hBQW9IO0FBQ2pJLE1BQU0sTUFBTSxDQUFDLG9IQUFvSDtBQUNqSSxNQUFNLE1BQU0sQ0FBQyxvSEFBb0g7QUFDakk7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9pbnRlcmZhY2UvaHRtbDUvdmlld3MvcmVwb3J0cy90NGFfc3VtbWFyeS9UNEFTdW1tYXJ5UmVwb3J0Vmlld0NvbnRyb2xsZXIuanM/MWY0YyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgVDRBU3VtbWFyeVJlcG9ydFZpZXdDb250cm9sbGVyIGV4dGVuZHMgUmVwb3J0QmFzZVZpZXdDb250cm9sbGVyIHtcblx0Y29uc3RydWN0b3IoIG9wdGlvbnMgPSB7fSApIHtcblx0XHRfLmRlZmF1bHRzKCBvcHRpb25zLCB7XG5cblx0XHRcdHR5cGVfYXJyYXk6IG51bGxcblx0XHR9ICk7XG5cblx0XHRzdXBlciggb3B0aW9ucyApO1xuXHR9XG5cblx0aW5pdFJlcG9ydCggb3B0aW9ucyApIHtcblx0XHR0aGlzLnNjcmlwdF9uYW1lID0gJ1Q0QVN1bW1hcnlSZXBvcnQnO1xuXHRcdHRoaXMudmlld0lkID0gJ1Q0QVN1bW1hcnlSZXBvcnQnO1xuXHRcdHRoaXMuY29udGV4dF9tZW51X25hbWUgPSAkLmkxOG4uXyggJ1Q0QSBTdW1tYXJ5JyApO1xuXHRcdHRoaXMubmF2aWdhdGlvbl9sYWJlbCA9ICQuaTE4bi5fKCAnU2F2ZWQgUmVwb3J0JyApO1xuXHRcdHRoaXMudmlld19maWxlID0gJ1Q0QVN1bW1hcnlSZXBvcnRWaWV3Lmh0bWwnO1xuXHRcdHRoaXMuYXBpID0gVFRBUEkuQVBJVDRBU3VtbWFyeVJlcG9ydDtcblx0XHR0aGlzLmFwaV9wYXlzdHViID0gVFRBUEkuQVBJUGF5U3R1YkVudHJ5QWNjb3VudDtcblx0XHR0aGlzLmluY2x1ZGVfZm9ybV9zZXR1cCA9IHRydWU7XG5cdH1cblxuXHRnZXRDdXN0b21Db250ZXh0TWVudU1vZGVsKCkge1xuXHRcdHZhciBjb250ZXh0X21lbnVfbW9kZWwgPSB7XG5cdFx0XHRncm91cHM6IHtcblx0XHRcdFx0Zm9ybToge1xuXHRcdFx0XHRcdGxhYmVsOiAkLmkxOG4uXyggJ0Zvcm0nICksXG5cdFx0XHRcdFx0aWQ6IHRoaXMudmlld0lkICsgJ0Zvcm0nXG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHRleGNsdWRlOiBbXSxcblx0XHRcdGluY2x1ZGU6IFtcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGxhYmVsOiAkLmkxOG4uXyggJ0Zvcm0nICksXG5cdFx0XHRcdFx0aWQ6ICd2aWV3X3ByaW50Jyxcblx0XHRcdFx0XHRhY3Rpb25fZ3JvdXBfaGVhZGVyOiB0cnVlLFxuXHRcdFx0XHRcdGFjdGlvbl9ncm91cDogJ3ZpZXdfZm9ybScsXG5cdFx0XHRcdFx0Z3JvdXA6ICdmb3JtJyxcblx0XHRcdFx0XHRtZW51X2FsaWduOiAncmlnaHQnLFxuXHRcdFx0XHRcdGljb246ICd2aWV3LTM1eDM1LnBuZycsXG5cdFx0XHRcdFx0dHlwZTogMlxuXHRcdFx0XHR9LFxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0bGFiZWw6ICQuaTE4bi5fKCAnVmlldzogR292ZXJubWVudCAoTXVsdGlwbGUgRW1wbG95ZWVzL1BhZ2UpJyApLFxuXHRcdFx0XHRcdGlkOiAncGRmX2Zvcm1fZ292ZXJubWVudCcsXG5cdFx0XHRcdFx0YWN0aW9uX2dyb3VwOiAndmlld19mb3JtJyxcblx0XHRcdFx0XHRncm91cDogJ2Zvcm0nLFxuXHRcdFx0XHRcdG1lbnVfYWxpZ246ICdyaWdodCcsXG5cdFx0XHRcdFx0aWNvbjogJ3ZpZXctMzV4MzUucG5nJyxcblx0XHRcdFx0XHR0eXBlOiAyLFxuXHRcdFx0XHRcdHNvcnRfb3JkZXI6IDEwMTAwXG5cdFx0XHRcdH0sXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRsYWJlbDogJC5pMThuLl8oICdWaWV3OiBFbXBsb3llZSAoT25lIEVtcGxveWVlL1BhZ2UpJyApLFxuXHRcdFx0XHRcdGlkOiAncGRmX2Zvcm0nLFxuXHRcdFx0XHRcdGFjdGlvbl9ncm91cDogJ3ZpZXdfZm9ybScsXG5cdFx0XHRcdFx0Z3JvdXA6ICdmb3JtJyxcblx0XHRcdFx0XHRtZW51X2FsaWduOiAncmlnaHQnLFxuXHRcdFx0XHRcdGljb246ICd2aWV3LTM1eDM1LnBuZycsXG5cdFx0XHRcdFx0dHlwZTogMixcblx0XHRcdFx0XHRzb3J0X29yZGVyOiAxMDIwMFxuXHRcdFx0XHR9LFxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0bGFiZWw6ICQuaTE4bi5fKCAnZUZpbGUnICksXG5cdFx0XHRcdFx0aWQ6ICdlX2ZpbGVfeG1sJyxcblx0XHRcdFx0XHRhY3Rpb25fZ3JvdXA6ICd2aWV3X2Zvcm0nLFxuXHRcdFx0XHRcdGdyb3VwOiAnZm9ybScsXG5cdFx0XHRcdFx0bWVudV9hbGlnbjogJ3JpZ2h0Jyxcblx0XHRcdFx0XHRzb3J0X29yZGVyOiAxMDMwMFxuXHRcdFx0XHR9LFxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0bGFiZWw6ICQuaTE4bi5fKCAnU2F2ZSBTZXR1cCcgKSxcblx0XHRcdFx0XHRpZDogJ3NhdmVfc2V0dXAnLFxuXHRcdFx0XHRcdGFjdGlvbl9ncm91cDogJ3ZpZXdfZm9ybScsXG5cdFx0XHRcdFx0Z3JvdXA6ICdmb3JtJyxcblx0XHRcdFx0XHRtZW51X2FsaWduOiAncmlnaHQnLFxuXHRcdFx0XHRcdHNvcnRfb3JkZXI6IDEwNDAwXG5cdFx0XHRcdH0sXG5cdFx0XHRdXG5cdFx0fTtcblxuXHRcdGlmICggKCBHbG9iYWwuZ2V0UHJvZHVjdEVkaXRpb24oKSA+PSAxNSApICkge1xuXHRcdFx0Y29udGV4dF9tZW51X21vZGVsLmluY2x1ZGUucHVzaCgge1xuXHRcdFx0XHRsYWJlbDogJC5pMThuLl8oICdQdWJsaXNoIEVtcGxveWVlIEZvcm1zJyApLFxuXHRcdFx0XHRpZDogJ3BkZl9mb3JtX3B1Ymxpc2hfZW1wbG95ZWUnLFxuXHRcdFx0XHRhY3Rpb25fZ3JvdXA6ICd2aWV3X2Zvcm0nLFxuXHRcdFx0XHRtZW51X2FsaWduOiAncmlnaHQnLFxuXHRcdFx0XHRzb3J0X29yZGVyOiAxMDI1MFxuXHRcdFx0fSApO1xuXHRcdH1cblxuXHRcdHJldHVybiBjb250ZXh0X21lbnVfbW9kZWw7XG5cdH1cblxuXHRpbml0T3B0aW9ucyggY2FsbEJhY2sgKSB7XG5cdFx0dmFyICR0aGlzID0gdGhpcztcblx0XHR2YXIgb3B0aW9ucyA9IFtcblx0XHRcdHsgb3B0aW9uX25hbWU6ICdwYWdlX29yaWVudGF0aW9uJyB9LFxuXHRcdFx0eyBvcHRpb25fbmFtZTogJ2ZvbnRfc2l6ZScgfSxcblx0XHRcdHsgb3B0aW9uX25hbWU6ICdjaGFydF9kaXNwbGF5X21vZGUnIH0sXG5cdFx0XHR7IG9wdGlvbl9uYW1lOiAnY2hhcnRfdHlwZScgfSxcblx0XHRcdHsgb3B0aW9uX25hbWU6ICd0ZW1wbGF0ZXMnIH0sXG5cdFx0XHR7IG9wdGlvbl9uYW1lOiAnc2V0dXBfZmllbGRzJyB9LFxuXHRcdFx0eyBvcHRpb25fbmFtZTogJ3R5cGUnIH0sXG5cdFx0XHR7IG9wdGlvbl9uYW1lOiAnYXV0b19yZWZyZXNoJyB9XG5cdFx0XTtcblxuXHRcdHRoaXMuaW5pdERyb3BEb3duT3B0aW9ucyggb3B0aW9ucywgZnVuY3Rpb24oIHJlc3VsdCApIHtcblx0XHRcdFRUQVBJLkFQSUNvbXBhbnkuZ2V0T3B0aW9ucyggJ3Byb3ZpbmNlJywgJ0NBJywge1xuXHRcdFx0XHRvblJlc3VsdDogZnVuY3Rpb24oIHByb3ZpbmNlUmVzdWx0ICkge1xuXHRcdFx0XHRcdCR0aGlzLnByb3ZpbmNlX2FycmF5ID0gR2xvYmFsLmJ1aWxkUmVjb3JkQXJyYXkoIHByb3ZpbmNlUmVzdWx0LmdldFJlc3VsdCgpICk7XG5cblx0XHRcdFx0XHRjYWxsQmFjayggcmVzdWx0ICk7IC8vIEZpcnN0IHRvIGluaXRpYWxpemUgZHJvcCBkb3duIG9wdGlvbnMsIGFuZCB0aGVuIHRvIGluaXRpYWxpemUgZWRpdCB2aWV3IFVJLlxuXHRcdFx0XHR9XG5cdFx0XHR9ICk7XG5cblx0XHR9ICk7XG5cdH1cblxuXHRvbkN1c3RvbUNvbnRleHRDbGljayggaWQgKSB7XG5cdFx0c3dpdGNoICggaWQgKSB7XG5cdFx0XHRjYXNlICdlX2ZpbGVfeG1sJzogLy9BbGwgcmVwb3J0IHZpZXdcblx0XHRcdFx0dGhpcy5vblJlcG9ydE1lbnVDbGljayggJ2VmaWxlX3htbCcgKTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlICdwZGZfZm9ybSc6XG5cdFx0XHRjYXNlICdwZGZfZm9ybV9nb3Zlcm5tZW50Jzpcblx0XHRcdGNhc2UgJ3BkZl9mb3JtX3B1Ymxpc2hfZW1wbG95ZWUnOlxuXHRcdFx0XHR0aGlzLm9uUmVwb3J0TWVudUNsaWNrKCBpZCApO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdHJldHVybiBmYWxzZTsgLy9GQUxTRSB0ZWxscyBvbkNvbnRleHRNZW51Q2xpY2soKSB0byBrZWVwIHByb2Nlc3NpbmcuXG5cdFx0fVxuXG5cdFx0cmV0dXJuIHRydWU7XG5cdH1cblxuXHRvblJlcG9ydE1lbnVDbGljayggaWQgKSB7XG5cdFx0dGhpcy5vblZpZXdDbGljayggaWQgKTtcblx0fVxuXG5cdGJ1aWxkRm9ybVNldHVwVUkoKSB7XG5cblx0XHR2YXIgJHRoaXMgPSB0aGlzO1xuXG5cdFx0dmFyIHRhYjMgPSB0aGlzLmVkaXRfdmlld190YWIuZmluZCggJyN0YWJfZm9ybV9zZXR1cCcgKTtcblxuXHRcdHZhciB0YWIzX2NvbHVtbjEgPSB0YWIzLmZpbmQoICcuZmlyc3QtY29sdW1uJyApO1xuXG5cdFx0dGhpcy5lZGl0X3ZpZXdfdGFic1szXSA9IFtdO1xuXG5cdFx0dGhpcy5lZGl0X3ZpZXdfdGFic1szXS5wdXNoKCB0YWIzX2NvbHVtbjEgKTtcblxuXHRcdC8vU3RhdHVzXG5cblx0XHR2YXIgZm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5DT01CT19CT1ggKTtcblx0XHRmb3JtX2l0ZW1faW5wdXQuVENvbWJvQm94KCB7IGZpZWxkOiAnc3RhdHVzX2lkJywgc2V0X2VtcHR5OiBmYWxzZSB9ICk7XG5cdFx0Zm9ybV9pdGVtX2lucHV0LnNldFNvdXJjZURhdGEoICR0aGlzLnR5cGVfYXJyYXkgKTtcblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ1N0YXR1cycgKSwgZm9ybV9pdGVtX2lucHV0LCB0YWIzX2NvbHVtbjEgKTtcblxuXHRcdC8vUGVuc2lvbiBPciBTdXBlcmFubnVhdGlvbiAoQm94OiAxNilcblx0XHR2YXIgdl9ib3ggPSAkKCAnPGRpdiBjbGFzcz1cXCd2LWJveFxcJz48L2Rpdj4nICk7XG5cblx0XHQvL0luY2x1ZGVcblx0XHRmb3JtX2l0ZW1faW5wdXQgPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLkFXRVNPTUVfQk9YICk7XG5cdFx0Zm9ybV9pdGVtX2lucHV0LkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlTdHViRW50cnlBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdwZW5zaW9uX2luY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCdcblx0XHR9ICk7XG5cblx0XHR2YXIgZm9ybV9pdGVtID0gdGhpcy5wdXRJbnB1dFRvSW5zaWRlRm9ybUl0ZW0oIGZvcm1faXRlbV9pbnB1dCwgJC5pMThuLl8oICdJbmNsdWRlJyApICk7XG5cblx0XHR2X2JveC5hcHBlbmQoIGZvcm1faXRlbSApO1xuXHRcdHZfYm94LmFwcGVuZCggJzxkaXYgY2xhc3M9XFwnY2xlYXItYm90aC1kaXZcXCc+PC9kaXY+JyApO1xuXG5cdFx0Ly9FeGNsdWRlXG5cdFx0dmFyIGZvcm1faXRlbV9pbnB1dF8xID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWCApO1xuXG5cdFx0Zm9ybV9pdGVtX2lucHV0XzEuQUNvbWJvQm94KCB7XG5cdFx0XHRhcGlfY2xhc3M6IFRUQVBJLkFQSVBheVN0dWJFbnRyeUFjY291bnQsXG5cdFx0XHRhbGxvd19tdWx0aXBsZV9zZWxlY3Rpb246IHRydWUsXG5cdFx0XHRsYXlvdXRfbmFtZTogJ2dsb2JhbF9QYXlTdHViQWNjb3VudCcsXG5cdFx0XHRzaG93X3NlYXJjaF9pbnB1dHM6IHRydWUsXG5cdFx0XHRzZXRfZW1wdHk6IHRydWUsXG5cdFx0XHRmaWVsZDogJ3BlbnNpb25fZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50J1xuXHRcdH0gKTtcblxuXHRcdGZvcm1faXRlbSA9IHRoaXMucHV0SW5wdXRUb0luc2lkZUZvcm1JdGVtKCBmb3JtX2l0ZW1faW5wdXRfMSwgJC5pMThuLl8oICdFeGNsdWRlJyApICk7XG5cblx0XHR2X2JveC5hcHBlbmQoIGZvcm1faXRlbSApO1xuXG5cdFx0dGhpcy5hZGRFZGl0RmllbGRUb0NvbHVtbiggJC5pMThuLl8oICdQZW5zaW9uIE9yIFN1cGVyYW5udWF0aW9uIChCb3g6IDE2KScgKSwgW2Zvcm1faXRlbV9pbnB1dCwgZm9ybV9pdGVtX2lucHV0XzFdLCB0YWIzX2NvbHVtbjEsICcnLCB2X2JveCwgZmFsc2UsIHRydWUgKTtcblxuXHRcdC8vTHVtcC1zdW0gUGF5bWVudHMgKEJveDogMTgpXG5cdFx0dl9ib3ggPSAkKCAnPGRpdiBjbGFzcz1cXCd2LWJveFxcJz48L2Rpdj4nICk7XG5cblx0XHQvL0luY2x1ZGVcblx0XHRmb3JtX2l0ZW1faW5wdXQgPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLkFXRVNPTUVfQk9YICk7XG5cdFx0Zm9ybV9pdGVtX2lucHV0LkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlTdHViRW50cnlBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdsdW1wX3N1bV9wYXltZW50X2luY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCdcblx0XHR9ICk7XG5cblx0XHRmb3JtX2l0ZW0gPSB0aGlzLnB1dElucHV0VG9JbnNpZGVGb3JtSXRlbSggZm9ybV9pdGVtX2lucHV0LCAkLmkxOG4uXyggJ0luY2x1ZGUnICkgKTtcblxuXHRcdHZfYm94LmFwcGVuZCggZm9ybV9pdGVtICk7XG5cdFx0dl9ib3guYXBwZW5kKCAnPGRpdiBjbGFzcz1cXCdjbGVhci1ib3RoLWRpdlxcJz48L2Rpdj4nICk7XG5cblx0XHQvL0V4Y2x1ZGVcblx0XHRmb3JtX2l0ZW1faW5wdXRfMSA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuQVdFU09NRV9CT1ggKTtcblxuXHRcdGZvcm1faXRlbV9pbnB1dF8xLkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlTdHViRW50cnlBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdsdW1wX3N1bV9wYXltZW50X2V4Y2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCdcblx0XHR9ICk7XG5cblx0XHRmb3JtX2l0ZW0gPSB0aGlzLnB1dElucHV0VG9JbnNpZGVGb3JtSXRlbSggZm9ybV9pdGVtX2lucHV0XzEsICQuaTE4bi5fKCAnRXhjbHVkZScgKSApO1xuXG5cdFx0dl9ib3guYXBwZW5kKCBmb3JtX2l0ZW0gKTtcblxuXHRcdHRoaXMuYWRkRWRpdEZpZWxkVG9Db2x1bW4oICQuaTE4bi5fKCAnTHVtcC1zdW0gUGF5bWVudHMgKEJveDogMTgpJyApLCBbZm9ybV9pdGVtX2lucHV0LCBmb3JtX2l0ZW1faW5wdXRfMV0sIHRhYjNfY29sdW1uMSwgJycsIHZfYm94LCBmYWxzZSwgdHJ1ZSApO1xuXG5cdFx0Ly9TZWxmLUVtcGxveWVkIENvbW1pc2lvbnMgIChCb3g6IDIwKVxuXHRcdHZfYm94ID0gJCggJzxkaXYgY2xhc3M9XFwndi1ib3hcXCc+PC9kaXY+JyApO1xuXG5cdFx0Ly9JbmNsdWRlXG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWCApO1xuXHRcdGZvcm1faXRlbV9pbnB1dC5BQ29tYm9Cb3goIHtcblx0XHRcdGFwaV9jbGFzczogVFRBUEkuQVBJUGF5U3R1YkVudHJ5QWNjb3VudCxcblx0XHRcdGFsbG93X211bHRpcGxlX3NlbGVjdGlvbjogdHJ1ZSxcblx0XHRcdGxheW91dF9uYW1lOiAnZ2xvYmFsX1BheVN0dWJBY2NvdW50Jyxcblx0XHRcdHNob3dfc2VhcmNoX2lucHV0czogdHJ1ZSxcblx0XHRcdHNldF9lbXB0eTogdHJ1ZSxcblx0XHRcdGZpZWxkOiAnc2VsZl9lbXBsb3llZF9jb21taXNzaW9uX2luY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCdcblx0XHR9ICk7XG5cblx0XHRmb3JtX2l0ZW0gPSB0aGlzLnB1dElucHV0VG9JbnNpZGVGb3JtSXRlbSggZm9ybV9pdGVtX2lucHV0LCAkLmkxOG4uXyggJ0luY2x1ZGUnICkgKTtcblxuXHRcdHZfYm94LmFwcGVuZCggZm9ybV9pdGVtICk7XG5cdFx0dl9ib3guYXBwZW5kKCAnPGRpdiBjbGFzcz1cXCdjbGVhci1ib3RoLWRpdlxcJz48L2Rpdj4nICk7XG5cblx0XHQvL0V4Y2x1ZGVcblx0XHRmb3JtX2l0ZW1faW5wdXRfMSA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuQVdFU09NRV9CT1ggKTtcblxuXHRcdGZvcm1faXRlbV9pbnB1dF8xLkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlTdHViRW50cnlBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdzZWxmX2VtcGxveWVkX2NvbW1pc3Npb25fZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50J1xuXHRcdH0gKTtcblxuXHRcdGZvcm1faXRlbSA9IHRoaXMucHV0SW5wdXRUb0luc2lkZUZvcm1JdGVtKCBmb3JtX2l0ZW1faW5wdXRfMSwgJC5pMThuLl8oICdFeGNsdWRlJyApICk7XG5cblx0XHR2X2JveC5hcHBlbmQoIGZvcm1faXRlbSApO1xuXG5cdFx0dGhpcy5hZGRFZGl0RmllbGRUb0NvbHVtbiggJC5pMThuLl8oICdTZWxmLUVtcGxveWVkIENvbW1pc2lvbnMgIChCb3g6IDIwKScgKSwgW2Zvcm1faXRlbV9pbnB1dCwgZm9ybV9pdGVtX2lucHV0XzFdLCB0YWIzX2NvbHVtbjEsICcnLCB2X2JveCwgZmFsc2UsIHRydWUgKTtcblxuXHRcdC8vSW5jb21lIFRheCBEZWR1Y3RlZCAoQm94OiAyMilcblx0XHR2X2JveCA9ICQoICc8ZGl2IGNsYXNzPVxcJ3YtYm94XFwnPjwvZGl2PicgKTtcblxuXHRcdC8vSW5jbHVkZVxuXHRcdGZvcm1faXRlbV9pbnB1dCA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuQVdFU09NRV9CT1ggKTtcblx0XHRmb3JtX2l0ZW1faW5wdXQuQUNvbWJvQm94KCB7XG5cdFx0XHRhcGlfY2xhc3M6IFRUQVBJLkFQSVBheVN0dWJFbnRyeUFjY291bnQsXG5cdFx0XHRhbGxvd19tdWx0aXBsZV9zZWxlY3Rpb246IHRydWUsXG5cdFx0XHRsYXlvdXRfbmFtZTogJ2dsb2JhbF9QYXlTdHViQWNjb3VudCcsXG5cdFx0XHRzaG93X3NlYXJjaF9pbnB1dHM6IHRydWUsXG5cdFx0XHRzZXRfZW1wdHk6IHRydWUsXG5cdFx0XHRmaWVsZDogJ2luY29tZV90YXhfaW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50J1xuXHRcdH0gKTtcblxuXHRcdGZvcm1faXRlbSA9IHRoaXMucHV0SW5wdXRUb0luc2lkZUZvcm1JdGVtKCBmb3JtX2l0ZW1faW5wdXQsICQuaTE4bi5fKCAnSW5jbHVkZScgKSApO1xuXG5cdFx0dl9ib3guYXBwZW5kKCBmb3JtX2l0ZW0gKTtcblx0XHR2X2JveC5hcHBlbmQoICc8ZGl2IGNsYXNzPVxcJ2NsZWFyLWJvdGgtZGl2XFwnPjwvZGl2PicgKTtcblxuXHRcdC8vRXhjbHVkZVxuXHRcdGZvcm1faXRlbV9pbnB1dF8xID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWCApO1xuXG5cdFx0Zm9ybV9pdGVtX2lucHV0XzEuQUNvbWJvQm94KCB7XG5cdFx0XHRhcGlfY2xhc3M6IFRUQVBJLkFQSVBheVN0dWJFbnRyeUFjY291bnQsXG5cdFx0XHRhbGxvd19tdWx0aXBsZV9zZWxlY3Rpb246IHRydWUsXG5cdFx0XHRsYXlvdXRfbmFtZTogJ2dsb2JhbF9QYXlTdHViQWNjb3VudCcsXG5cdFx0XHRzaG93X3NlYXJjaF9pbnB1dHM6IHRydWUsXG5cdFx0XHRzZXRfZW1wdHk6IHRydWUsXG5cdFx0XHRmaWVsZDogJ2luY29tZV90YXhfZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50J1xuXHRcdH0gKTtcblxuXHRcdGZvcm1faXRlbSA9IHRoaXMucHV0SW5wdXRUb0luc2lkZUZvcm1JdGVtKCBmb3JtX2l0ZW1faW5wdXRfMSwgJC5pMThuLl8oICdFeGNsdWRlJyApICk7XG5cblx0XHR2X2JveC5hcHBlbmQoIGZvcm1faXRlbSApO1xuXG5cdFx0dGhpcy5hZGRFZGl0RmllbGRUb0NvbHVtbiggJC5pMThuLl8oICdJbmNvbWUgVGF4IERlZHVjdGVkIChCb3ggMjIpJyApLCBbZm9ybV9pdGVtX2lucHV0LCBmb3JtX2l0ZW1faW5wdXRfMV0sIHRhYjNfY29sdW1uMSwgJycsIHZfYm94LCBmYWxzZSwgdHJ1ZSApO1xuXG5cdFx0Ly9Bbm51aXRpZXMgKEJveDogMjcpXG5cdFx0dl9ib3ggPSAkKCAnPGRpdiBjbGFzcz1cXCd2LWJveFxcJz48L2Rpdj4nICk7XG5cblx0XHQvL0luY2x1ZGVcblx0XHRmb3JtX2l0ZW1faW5wdXQgPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLkFXRVNPTUVfQk9YICk7XG5cdFx0Zm9ybV9pdGVtX2lucHV0LkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlTdHViRW50cnlBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdhbm51aXRpZXNfaW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50J1xuXHRcdH0gKTtcblxuXHRcdGZvcm1faXRlbSA9IHRoaXMucHV0SW5wdXRUb0luc2lkZUZvcm1JdGVtKCBmb3JtX2l0ZW1faW5wdXQsICQuaTE4bi5fKCAnSW5jbHVkZScgKSApO1xuXG5cdFx0dl9ib3guYXBwZW5kKCBmb3JtX2l0ZW0gKTtcblx0XHR2X2JveC5hcHBlbmQoICc8ZGl2IGNsYXNzPVxcJ2NsZWFyLWJvdGgtZGl2XFwnPjwvZGl2PicgKTtcblxuXHRcdC8vRXhjbHVkZVxuXHRcdGZvcm1faXRlbV9pbnB1dF8xID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWCApO1xuXG5cdFx0Zm9ybV9pdGVtX2lucHV0XzEuQUNvbWJvQm94KCB7XG5cdFx0XHRhcGlfY2xhc3M6IFRUQVBJLkFQSVBheVN0dWJFbnRyeUFjY291bnQsXG5cdFx0XHRhbGxvd19tdWx0aXBsZV9zZWxlY3Rpb246IHRydWUsXG5cdFx0XHRsYXlvdXRfbmFtZTogJ2dsb2JhbF9QYXlTdHViQWNjb3VudCcsXG5cdFx0XHRzaG93X3NlYXJjaF9pbnB1dHM6IHRydWUsXG5cdFx0XHRzZXRfZW1wdHk6IHRydWUsXG5cdFx0XHRmaWVsZDogJ2FubnVpdGllc19leGNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnQnXG5cdFx0fSApO1xuXG5cdFx0Zm9ybV9pdGVtID0gdGhpcy5wdXRJbnB1dFRvSW5zaWRlRm9ybUl0ZW0oIGZvcm1faXRlbV9pbnB1dF8xLCAkLmkxOG4uXyggJ0V4Y2x1ZGUnICkgKTtcblxuXHRcdHZfYm94LmFwcGVuZCggZm9ybV9pdGVtICk7XG5cblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ0FubnVpdGllcyAoQm94IDI0KScgKSwgW2Zvcm1faXRlbV9pbnB1dCwgZm9ybV9pdGVtX2lucHV0XzFdLCB0YWIzX2NvbHVtbjEsICcnLCB2X2JveCwgZmFsc2UsIHRydWUgKTtcblxuXHRcdC8vRmVlcyBmb3IgU2VydmljZXMgKEJveDogNDgpXG5cdFx0dl9ib3ggPSAkKCAnPGRpdiBjbGFzcz1cXCd2LWJveFxcJz48L2Rpdj4nICk7XG5cblx0XHQvL0luY2x1ZGVcblx0XHRmb3JtX2l0ZW1faW5wdXQgPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLkFXRVNPTUVfQk9YICk7XG5cdFx0Zm9ybV9pdGVtX2lucHV0LkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlTdHViRW50cnlBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdzZXJ2aWNlX2ZlZXNfaW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50J1xuXHRcdH0gKTtcblxuXHRcdGZvcm1faXRlbSA9IHRoaXMucHV0SW5wdXRUb0luc2lkZUZvcm1JdGVtKCBmb3JtX2l0ZW1faW5wdXQsICQuaTE4bi5fKCAnSW5jbHVkZScgKSApO1xuXG5cdFx0dl9ib3guYXBwZW5kKCBmb3JtX2l0ZW0gKTtcblx0XHR2X2JveC5hcHBlbmQoICc8ZGl2IGNsYXNzPVxcJ2NsZWFyLWJvdGgtZGl2XFwnPjwvZGl2PicgKTtcblxuXHRcdC8vRXhjbHVkZVxuXHRcdGZvcm1faXRlbV9pbnB1dF8xID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWCApO1xuXG5cdFx0Zm9ybV9pdGVtX2lucHV0XzEuQUNvbWJvQm94KCB7XG5cdFx0XHRhcGlfY2xhc3M6IFRUQVBJLkFQSVBheVN0dWJFbnRyeUFjY291bnQsXG5cdFx0XHRhbGxvd19tdWx0aXBsZV9zZWxlY3Rpb246IHRydWUsXG5cdFx0XHRsYXlvdXRfbmFtZTogJ2dsb2JhbF9QYXlTdHViQWNjb3VudCcsXG5cdFx0XHRzaG93X3NlYXJjaF9pbnB1dHM6IHRydWUsXG5cdFx0XHRzZXRfZW1wdHk6IHRydWUsXG5cdFx0XHRmaWVsZDogJ3NlcnZpY2VfZmVlc19leGNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnQnXG5cdFx0fSApO1xuXG5cdFx0Zm9ybV9pdGVtID0gdGhpcy5wdXRJbnB1dFRvSW5zaWRlRm9ybUl0ZW0oIGZvcm1faXRlbV9pbnB1dF8xLCAkLmkxOG4uXyggJ0V4Y2x1ZGUnICkgKTtcblxuXHRcdHZfYm94LmFwcGVuZCggZm9ybV9pdGVtICk7XG5cblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ0ZlZXMgZm9yIFNlcnZpY2VzIChCb3g6IDQ4KScgKSwgW2Zvcm1faXRlbV9pbnB1dCwgZm9ybV9pdGVtX2lucHV0XzFdLCB0YWIzX2NvbHVtbjEsICcnLCB2X2JveCwgZmFsc2UsIHRydWUgKTtcblxuXHRcdC8vQm94IFswXVxuXHRcdHZfYm94ID0gJCggJzxkaXYgY2xhc3M9XFwndi1ib3hcXCc+PC9kaXY+JyApO1xuXG5cdFx0Ly9JbmNsdWRlXG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWCApO1xuXG5cdFx0Zm9ybV9pdGVtX2lucHV0LkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlTdHViRW50cnlBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdib3hfMF9pbmNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnQnXG5cdFx0fSApO1xuXG5cdFx0Zm9ybV9pdGVtID0gdGhpcy5wdXRJbnB1dFRvSW5zaWRlRm9ybUl0ZW0oIGZvcm1faXRlbV9pbnB1dCwgJC5pMThuLl8oICdJbmNsdWRlJyApICk7XG5cblx0XHR2X2JveC5hcHBlbmQoIGZvcm1faXRlbSApO1xuXHRcdHZfYm94LmFwcGVuZCggJzxkaXYgY2xhc3M9XFwnY2xlYXItYm90aC1kaXZcXCc+PC9kaXY+JyApO1xuXG5cdFx0Ly9FeGNsdWRlXG5cdFx0Zm9ybV9pdGVtX2lucHV0XzEgPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLkFXRVNPTUVfQk9YICk7XG5cblx0XHRmb3JtX2l0ZW1faW5wdXRfMS5BQ29tYm9Cb3goIHtcblx0XHRcdGFwaV9jbGFzczogVFRBUEkuQVBJUGF5U3R1YkVudHJ5QWNjb3VudCxcblx0XHRcdGFsbG93X211bHRpcGxlX3NlbGVjdGlvbjogdHJ1ZSxcblx0XHRcdGxheW91dF9uYW1lOiAnZ2xvYmFsX1BheVN0dWJBY2NvdW50Jyxcblx0XHRcdHNob3dfc2VhcmNoX2lucHV0czogdHJ1ZSxcblx0XHRcdHNldF9lbXB0eTogdHJ1ZSxcblx0XHRcdGZpZWxkOiAnYm94XzBfZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50J1xuXHRcdH0gKTtcblxuXHRcdGZvcm1faXRlbSA9IHRoaXMucHV0SW5wdXRUb0luc2lkZUZvcm1JdGVtKCBmb3JtX2l0ZW1faW5wdXRfMSwgJC5pMThuLl8oICdFeGNsdWRlJyApICk7XG5cblx0XHR2X2JveC5hcHBlbmQoIGZvcm1faXRlbSApO1xuXG5cdFx0dmFyIGN1c3RvbV9sYWJlbF93aWRnZXQgPSAkKCAnPGRpdiBjbGFzcz1cXCdoLWJveFxcJz48L2Rpdj4nICk7XG5cdFx0dmFyIGxhYmVsID0gJCggJzxzcGFuIGNsYXNzPVwiZWRpdC12aWV3LWZvcm0taXRlbS1sYWJlbFwiPjwvc3Bhbj4nICk7XG5cdFx0dmFyIGJveCA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuVEVYVF9JTlBVVCApO1xuXHRcdGJveC5UVGV4dElucHV0KCB7IGZpZWxkOiAnYm94XzBfYm94Jywgd2lkdGg6IDUwIH0gKTtcblx0XHRib3guY3NzKCAnZmxvYXQnLCAncmlnaHQnICk7XG5cdFx0Ym94LmJpbmQoICdmb3JtSXRlbUNoYW5nZScsIGZ1bmN0aW9uKCBlLCB0YXJnZXQgKSB7XG5cdFx0XHQkdGhpcy5vbkZvcm1JdGVtQ2hhbmdlKCB0YXJnZXQgKTtcblx0XHR9ICk7XG5cblx0XHRsYWJlbC50ZXh0KCAkLmkxOG4uXyggJ0JveCcgKSApO1xuXG5cdFx0dGhpcy5lZGl0X3ZpZXdfdWlfZGljW2JveC5nZXRGaWVsZCgpXSA9IGJveDtcblxuXHRcdGN1c3RvbV9sYWJlbF93aWRnZXQuYXBwZW5kKCBib3ggKTtcblx0XHRjdXN0b21fbGFiZWxfd2lkZ2V0LmFwcGVuZCggbGFiZWwgKTtcblxuXHRcdHRoaXMuYWRkRWRpdEZpZWxkVG9Db2x1bW4oICQuaTE4bi5fKCAnQm94JyApLCBbZm9ybV9pdGVtX2lucHV0LCBmb3JtX2l0ZW1faW5wdXRfMV0sIHRhYjNfY29sdW1uMSwgJycsIHZfYm94LCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBjdXN0b21fbGFiZWxfd2lkZ2V0ICk7XG5cblx0XHQvL0JveCBbMV1cblx0XHR2X2JveCA9ICQoICc8ZGl2IGNsYXNzPVxcJ3YtYm94XFwnPjwvZGl2PicgKTtcblxuXHRcdC8vSW5jbHVkZVxuXHRcdGZvcm1faXRlbV9pbnB1dCA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuQVdFU09NRV9CT1ggKTtcblxuXHRcdGZvcm1faXRlbV9pbnB1dC5BQ29tYm9Cb3goIHtcblx0XHRcdGFwaV9jbGFzczogVFRBUEkuQVBJUGF5U3R1YkVudHJ5QWNjb3VudCxcblx0XHRcdGFsbG93X211bHRpcGxlX3NlbGVjdGlvbjogdHJ1ZSxcblx0XHRcdGxheW91dF9uYW1lOiAnZ2xvYmFsX1BheVN0dWJBY2NvdW50Jyxcblx0XHRcdHNob3dfc2VhcmNoX2lucHV0czogdHJ1ZSxcblx0XHRcdHNldF9lbXB0eTogdHJ1ZSxcblx0XHRcdGZpZWxkOiAnYm94XzFfaW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50J1xuXHRcdH0gKTtcblxuXHRcdGZvcm1faXRlbSA9IHRoaXMucHV0SW5wdXRUb0luc2lkZUZvcm1JdGVtKCBmb3JtX2l0ZW1faW5wdXQsICQuaTE4bi5fKCAnSW5jbHVkZScgKSApO1xuXG5cdFx0dl9ib3guYXBwZW5kKCBmb3JtX2l0ZW0gKTtcblx0XHR2X2JveC5hcHBlbmQoICc8ZGl2IGNsYXNzPVxcJ2NsZWFyLWJvdGgtZGl2XFwnPjwvZGl2PicgKTtcblxuXHRcdC8vRXhjbHVkZVxuXHRcdGZvcm1faXRlbV9pbnB1dF8xID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWCApO1xuXG5cdFx0Zm9ybV9pdGVtX2lucHV0XzEuQUNvbWJvQm94KCB7XG5cdFx0XHRhcGlfY2xhc3M6IFRUQVBJLkFQSVBheVN0dWJFbnRyeUFjY291bnQsXG5cdFx0XHRhbGxvd19tdWx0aXBsZV9zZWxlY3Rpb246IHRydWUsXG5cdFx0XHRsYXlvdXRfbmFtZTogJ2dsb2JhbF9QYXlTdHViQWNjb3VudCcsXG5cdFx0XHRzaG93X3NlYXJjaF9pbnB1dHM6IHRydWUsXG5cdFx0XHRzZXRfZW1wdHk6IHRydWUsXG5cdFx0XHRmaWVsZDogJ2JveF8xX2V4Y2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCdcblx0XHR9ICk7XG5cblx0XHRmb3JtX2l0ZW0gPSB0aGlzLnB1dElucHV0VG9JbnNpZGVGb3JtSXRlbSggZm9ybV9pdGVtX2lucHV0XzEsICQuaTE4bi5fKCAnRXhjbHVkZScgKSApO1xuXG5cdFx0dl9ib3guYXBwZW5kKCBmb3JtX2l0ZW0gKTtcblxuXHRcdGN1c3RvbV9sYWJlbF93aWRnZXQgPSAkKCAnPGRpdiBjbGFzcz1cXCdoLWJveFxcJz48L2Rpdj4nICk7XG5cdFx0bGFiZWwgPSAkKCAnPHNwYW4gY2xhc3M9XCJlZGl0LXZpZXctZm9ybS1pdGVtLWxhYmVsXCI+PC9zcGFuPicgKTtcblx0XHRib3ggPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLlRFWFRfSU5QVVQgKTtcblx0XHRib3guVFRleHRJbnB1dCggeyBmaWVsZDogJ2JveF8xX2JveCcsIHdpZHRoOiA1MCB9ICk7XG5cdFx0Ym94LmNzcyggJ2Zsb2F0JywgJ3JpZ2h0JyApO1xuXHRcdGJveC5iaW5kKCAnZm9ybUl0ZW1DaGFuZ2UnLCBmdW5jdGlvbiggZSwgdGFyZ2V0ICkge1xuXHRcdFx0JHRoaXMub25Gb3JtSXRlbUNoYW5nZSggdGFyZ2V0ICk7XG5cdFx0fSApO1xuXG5cdFx0bGFiZWwudGV4dCggJC5pMThuLl8oICdCb3gnICkgKTtcblxuXHRcdHRoaXMuZWRpdF92aWV3X3VpX2RpY1tib3guZ2V0RmllbGQoKV0gPSBib3g7XG5cblx0XHRjdXN0b21fbGFiZWxfd2lkZ2V0LmFwcGVuZCggYm94ICk7XG5cdFx0Y3VzdG9tX2xhYmVsX3dpZGdldC5hcHBlbmQoIGxhYmVsICk7XG5cblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ0JveCcgKSwgW2Zvcm1faXRlbV9pbnB1dCwgZm9ybV9pdGVtX2lucHV0XzFdLCB0YWIzX2NvbHVtbjEsICcnLCB2X2JveCwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgY3VzdG9tX2xhYmVsX3dpZGdldCApO1xuXG5cdFx0Ly9Cb3ggWzJdXG5cdFx0dl9ib3ggPSAkKCAnPGRpdiBjbGFzcz1cXCd2LWJveFxcJz48L2Rpdj4nICk7XG5cblx0XHQvL0luY2x1ZGVcblx0XHRmb3JtX2l0ZW1faW5wdXQgPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLkFXRVNPTUVfQk9YICk7XG5cblx0XHRmb3JtX2l0ZW1faW5wdXQuQUNvbWJvQm94KCB7XG5cdFx0XHRhcGlfY2xhc3M6IFRUQVBJLkFQSVBheVN0dWJFbnRyeUFjY291bnQsXG5cdFx0XHRhbGxvd19tdWx0aXBsZV9zZWxlY3Rpb246IHRydWUsXG5cdFx0XHRsYXlvdXRfbmFtZTogJ2dsb2JhbF9QYXlTdHViQWNjb3VudCcsXG5cdFx0XHRzaG93X3NlYXJjaF9pbnB1dHM6IHRydWUsXG5cdFx0XHRzZXRfZW1wdHk6IHRydWUsXG5cdFx0XHRmaWVsZDogJ2JveF8yX2luY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCdcblx0XHR9ICk7XG5cblx0XHRmb3JtX2l0ZW0gPSB0aGlzLnB1dElucHV0VG9JbnNpZGVGb3JtSXRlbSggZm9ybV9pdGVtX2lucHV0LCAkLmkxOG4uXyggJ0luY2x1ZGUnICkgKTtcblxuXHRcdHZfYm94LmFwcGVuZCggZm9ybV9pdGVtICk7XG5cdFx0dl9ib3guYXBwZW5kKCAnPGRpdiBjbGFzcz1cXCdjbGVhci1ib3RoLWRpdlxcJz48L2Rpdj4nICk7XG5cblx0XHQvL0V4Y2x1ZGVcblx0XHRmb3JtX2l0ZW1faW5wdXRfMSA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuQVdFU09NRV9CT1ggKTtcblxuXHRcdGZvcm1faXRlbV9pbnB1dF8xLkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlTdHViRW50cnlBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdib3hfMl9leGNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnQnXG5cdFx0fSApO1xuXG5cdFx0Zm9ybV9pdGVtID0gdGhpcy5wdXRJbnB1dFRvSW5zaWRlRm9ybUl0ZW0oIGZvcm1faXRlbV9pbnB1dF8xLCAkLmkxOG4uXyggJ0V4Y2x1ZGUnICkgKTtcblxuXHRcdHZfYm94LmFwcGVuZCggZm9ybV9pdGVtICk7XG5cblx0XHRjdXN0b21fbGFiZWxfd2lkZ2V0ID0gJCggJzxkaXYgY2xhc3M9XFwnaC1ib3hcXCc+PC9kaXY+JyApO1xuXHRcdGxhYmVsID0gJCggJzxzcGFuIGNsYXNzPVwiZWRpdC12aWV3LWZvcm0taXRlbS1sYWJlbFwiPjwvc3Bhbj4nICk7XG5cdFx0Ym94ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5URVhUX0lOUFVUICk7XG5cdFx0Ym94LlRUZXh0SW5wdXQoIHsgZmllbGQ6ICdib3hfMl9ib3gnLCB3aWR0aDogNTAgfSApO1xuXHRcdGJveC5jc3MoICdmbG9hdCcsICdyaWdodCcgKTtcblx0XHRib3guYmluZCggJ2Zvcm1JdGVtQ2hhbmdlJywgZnVuY3Rpb24oIGUsIHRhcmdldCApIHtcblx0XHRcdCR0aGlzLm9uRm9ybUl0ZW1DaGFuZ2UoIHRhcmdldCApO1xuXHRcdH0gKTtcblxuXHRcdGxhYmVsLnRleHQoICQuaTE4bi5fKCAnQm94JyApICk7XG5cblx0XHR0aGlzLmVkaXRfdmlld191aV9kaWNbYm94LmdldEZpZWxkKCldID0gYm94O1xuXG5cdFx0Y3VzdG9tX2xhYmVsX3dpZGdldC5hcHBlbmQoIGJveCApO1xuXHRcdGN1c3RvbV9sYWJlbF93aWRnZXQuYXBwZW5kKCBsYWJlbCApO1xuXG5cdFx0dGhpcy5hZGRFZGl0RmllbGRUb0NvbHVtbiggJC5pMThuLl8oICdCb3gnICksIFtmb3JtX2l0ZW1faW5wdXQsIGZvcm1faXRlbV9pbnB1dF8xXSwgdGFiM19jb2x1bW4xLCAnJywgdl9ib3gsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGN1c3RvbV9sYWJlbF93aWRnZXQgKTtcblxuXHRcdC8vQm94IFszXVxuXHRcdHZfYm94ID0gJCggJzxkaXYgY2xhc3M9XFwndi1ib3hcXCc+PC9kaXY+JyApO1xuXG5cdFx0Ly9JbmNsdWRlXG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWCApO1xuXG5cdFx0Zm9ybV9pdGVtX2lucHV0LkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlTdHViRW50cnlBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdib3hfM19pbmNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnQnXG5cdFx0fSApO1xuXG5cdFx0Zm9ybV9pdGVtID0gdGhpcy5wdXRJbnB1dFRvSW5zaWRlRm9ybUl0ZW0oIGZvcm1faXRlbV9pbnB1dCwgJC5pMThuLl8oICdJbmNsdWRlJyApICk7XG5cblx0XHR2X2JveC5hcHBlbmQoIGZvcm1faXRlbSApO1xuXHRcdHZfYm94LmFwcGVuZCggJzxkaXYgY2xhc3M9XFwnY2xlYXItYm90aC1kaXZcXCc+PC9kaXY+JyApO1xuXG5cdFx0Ly9FeGNsdWRlXG5cdFx0Zm9ybV9pdGVtX2lucHV0XzEgPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLkFXRVNPTUVfQk9YICk7XG5cblx0XHRmb3JtX2l0ZW1faW5wdXRfMS5BQ29tYm9Cb3goIHtcblx0XHRcdGFwaV9jbGFzczogVFRBUEkuQVBJUGF5U3R1YkVudHJ5QWNjb3VudCxcblx0XHRcdGFsbG93X211bHRpcGxlX3NlbGVjdGlvbjogdHJ1ZSxcblx0XHRcdGxheW91dF9uYW1lOiAnZ2xvYmFsX1BheVN0dWJBY2NvdW50Jyxcblx0XHRcdHNob3dfc2VhcmNoX2lucHV0czogdHJ1ZSxcblx0XHRcdHNldF9lbXB0eTogdHJ1ZSxcblx0XHRcdGZpZWxkOiAnYm94XzNfZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50J1xuXHRcdH0gKTtcblxuXHRcdGZvcm1faXRlbSA9IHRoaXMucHV0SW5wdXRUb0luc2lkZUZvcm1JdGVtKCBmb3JtX2l0ZW1faW5wdXRfMSwgJC5pMThuLl8oICdFeGNsdWRlJyApICk7XG5cblx0XHR2X2JveC5hcHBlbmQoIGZvcm1faXRlbSApO1xuXG5cdFx0Y3VzdG9tX2xhYmVsX3dpZGdldCA9ICQoICc8ZGl2IGNsYXNzPVxcJ2gtYm94XFwnPjwvZGl2PicgKTtcblx0XHRsYWJlbCA9ICQoICc8c3BhbiBjbGFzcz1cImVkaXQtdmlldy1mb3JtLWl0ZW0tbGFiZWxcIj48L3NwYW4+JyApO1xuXHRcdGJveCA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuVEVYVF9JTlBVVCApO1xuXHRcdGJveC5UVGV4dElucHV0KCB7IGZpZWxkOiAnYm94XzNfYm94Jywgd2lkdGg6IDUwIH0gKTtcblx0XHRib3guY3NzKCAnZmxvYXQnLCAncmlnaHQnICk7XG5cdFx0Ym94LmJpbmQoICdmb3JtSXRlbUNoYW5nZScsIGZ1bmN0aW9uKCBlLCB0YXJnZXQgKSB7XG5cdFx0XHQkdGhpcy5vbkZvcm1JdGVtQ2hhbmdlKCB0YXJnZXQgKTtcblx0XHR9ICk7XG5cblx0XHRsYWJlbC50ZXh0KCAkLmkxOG4uXyggJ0JveCcgKSApO1xuXG5cdFx0dGhpcy5lZGl0X3ZpZXdfdWlfZGljW2JveC5nZXRGaWVsZCgpXSA9IGJveDtcblxuXHRcdGN1c3RvbV9sYWJlbF93aWRnZXQuYXBwZW5kKCBib3ggKTtcblx0XHRjdXN0b21fbGFiZWxfd2lkZ2V0LmFwcGVuZCggbGFiZWwgKTtcblxuXHRcdHRoaXMuYWRkRWRpdEZpZWxkVG9Db2x1bW4oICQuaTE4bi5fKCAnQm94JyApLCBbZm9ybV9pdGVtX2lucHV0LCBmb3JtX2l0ZW1faW5wdXRfMV0sIHRhYjNfY29sdW1uMSwgJycsIHZfYm94LCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBjdXN0b21fbGFiZWxfd2lkZ2V0ICk7XG5cblx0XHQvL0JveCBbNF1cblx0XHR2X2JveCA9ICQoICc8ZGl2IGNsYXNzPVxcJ3YtYm94XFwnPjwvZGl2PicgKTtcblxuXHRcdC8vSW5jbHVkZVxuXHRcdGZvcm1faXRlbV9pbnB1dCA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuQVdFU09NRV9CT1ggKTtcblxuXHRcdGZvcm1faXRlbV9pbnB1dC5BQ29tYm9Cb3goIHtcblx0XHRcdGFwaV9jbGFzczogVFRBUEkuQVBJUGF5U3R1YkVudHJ5QWNjb3VudCxcblx0XHRcdGFsbG93X211bHRpcGxlX3NlbGVjdGlvbjogdHJ1ZSxcblx0XHRcdGxheW91dF9uYW1lOiAnZ2xvYmFsX1BheVN0dWJBY2NvdW50Jyxcblx0XHRcdHNob3dfc2VhcmNoX2lucHV0czogdHJ1ZSxcblx0XHRcdHNldF9lbXB0eTogdHJ1ZSxcblx0XHRcdGZpZWxkOiAnYm94XzRfaW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50J1xuXHRcdH0gKTtcblxuXHRcdGZvcm1faXRlbSA9IHRoaXMucHV0SW5wdXRUb0luc2lkZUZvcm1JdGVtKCBmb3JtX2l0ZW1faW5wdXQsICQuaTE4bi5fKCAnSW5jbHVkZScgKSApO1xuXG5cdFx0dl9ib3guYXBwZW5kKCBmb3JtX2l0ZW0gKTtcblx0XHR2X2JveC5hcHBlbmQoICc8ZGl2IGNsYXNzPVxcJ2NsZWFyLWJvdGgtZGl2XFwnPjwvZGl2PicgKTtcblxuXHRcdC8vRXhjbHVkZVxuXHRcdGZvcm1faXRlbV9pbnB1dF8xID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWCApO1xuXG5cdFx0Zm9ybV9pdGVtX2lucHV0XzEuQUNvbWJvQm94KCB7XG5cdFx0XHRhcGlfY2xhc3M6IFRUQVBJLkFQSVBheVN0dWJFbnRyeUFjY291bnQsXG5cdFx0XHRhbGxvd19tdWx0aXBsZV9zZWxlY3Rpb246IHRydWUsXG5cdFx0XHRsYXlvdXRfbmFtZTogJ2dsb2JhbF9QYXlTdHViQWNjb3VudCcsXG5cdFx0XHRzaG93X3NlYXJjaF9pbnB1dHM6IHRydWUsXG5cdFx0XHRzZXRfZW1wdHk6IHRydWUsXG5cdFx0XHRmaWVsZDogJ2JveF80X2V4Y2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCdcblx0XHR9ICk7XG5cblx0XHRmb3JtX2l0ZW0gPSB0aGlzLnB1dElucHV0VG9JbnNpZGVGb3JtSXRlbSggZm9ybV9pdGVtX2lucHV0XzEsICQuaTE4bi5fKCAnRXhjbHVkZScgKSApO1xuXG5cdFx0dl9ib3guYXBwZW5kKCBmb3JtX2l0ZW0gKTtcblxuXHRcdGN1c3RvbV9sYWJlbF93aWRnZXQgPSAkKCAnPGRpdiBjbGFzcz1cXCdoLWJveFxcJz48L2Rpdj4nICk7XG5cdFx0bGFiZWwgPSAkKCAnPHNwYW4gY2xhc3M9XCJlZGl0LXZpZXctZm9ybS1pdGVtLWxhYmVsXCI+PC9zcGFuPicgKTtcblx0XHRib3ggPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLlRFWFRfSU5QVVQgKTtcblx0XHRib3guVFRleHRJbnB1dCggeyBmaWVsZDogJ2JveF80X2JveCcsIHdpZHRoOiA1MCB9ICk7XG5cdFx0Ym94LmNzcyggJ2Zsb2F0JywgJ3JpZ2h0JyApO1xuXHRcdGJveC5iaW5kKCAnZm9ybUl0ZW1DaGFuZ2UnLCBmdW5jdGlvbiggZSwgdGFyZ2V0ICkge1xuXHRcdFx0JHRoaXMub25Gb3JtSXRlbUNoYW5nZSggdGFyZ2V0ICk7XG5cdFx0fSApO1xuXG5cdFx0bGFiZWwudGV4dCggJC5pMThuLl8oICdCb3gnICkgKTtcblxuXHRcdHRoaXMuZWRpdF92aWV3X3VpX2RpY1tib3guZ2V0RmllbGQoKV0gPSBib3g7XG5cblx0XHRjdXN0b21fbGFiZWxfd2lkZ2V0LmFwcGVuZCggYm94ICk7XG5cdFx0Y3VzdG9tX2xhYmVsX3dpZGdldC5hcHBlbmQoIGxhYmVsICk7XG5cblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ0JveCcgKSwgW2Zvcm1faXRlbV9pbnB1dCwgZm9ybV9pdGVtX2lucHV0XzFdLCB0YWIzX2NvbHVtbjEsICcnLCB2X2JveCwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgY3VzdG9tX2xhYmVsX3dpZGdldCApO1xuXG5cdFx0Ly9Cb3ggWzVdXG5cdFx0dl9ib3ggPSAkKCAnPGRpdiBjbGFzcz1cXCd2LWJveFxcJz48L2Rpdj4nICk7XG5cblx0XHQvL0luY2x1ZGVcblx0XHRmb3JtX2l0ZW1faW5wdXQgPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLkFXRVNPTUVfQk9YICk7XG5cblx0XHRmb3JtX2l0ZW1faW5wdXQuQUNvbWJvQm94KCB7XG5cdFx0XHRhcGlfY2xhc3M6IFRUQVBJLkFQSVBheVN0dWJFbnRyeUFjY291bnQsXG5cdFx0XHRhbGxvd19tdWx0aXBsZV9zZWxlY3Rpb246IHRydWUsXG5cdFx0XHRsYXlvdXRfbmFtZTogJ2dsb2JhbF9QYXlTdHViQWNjb3VudCcsXG5cdFx0XHRzaG93X3NlYXJjaF9pbnB1dHM6IHRydWUsXG5cdFx0XHRzZXRfZW1wdHk6IHRydWUsXG5cdFx0XHRmaWVsZDogJ2JveF81X2luY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCdcblx0XHR9ICk7XG5cblx0XHRmb3JtX2l0ZW0gPSB0aGlzLnB1dElucHV0VG9JbnNpZGVGb3JtSXRlbSggZm9ybV9pdGVtX2lucHV0LCAkLmkxOG4uXyggJ0luY2x1ZGUnICkgKTtcblxuXHRcdHZfYm94LmFwcGVuZCggZm9ybV9pdGVtICk7XG5cdFx0dl9ib3guYXBwZW5kKCAnPGRpdiBjbGFzcz1cXCdjbGVhci1ib3RoLWRpdlxcJz48L2Rpdj4nICk7XG5cblx0XHQvL0V4Y2x1ZGVcblx0XHRmb3JtX2l0ZW1faW5wdXRfMSA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuQVdFU09NRV9CT1ggKTtcblxuXHRcdGZvcm1faXRlbV9pbnB1dF8xLkFDb21ib0JveCgge1xuXHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElQYXlTdHViRW50cnlBY2NvdW50LFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfUGF5U3R1YkFjY291bnQnLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0ZmllbGQ6ICdib3hfNV9leGNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnQnXG5cdFx0fSApO1xuXG5cdFx0Zm9ybV9pdGVtID0gdGhpcy5wdXRJbnB1dFRvSW5zaWRlRm9ybUl0ZW0oIGZvcm1faXRlbV9pbnB1dF8xLCAkLmkxOG4uXyggJ0V4Y2x1ZGUnICkgKTtcblxuXHRcdHZfYm94LmFwcGVuZCggZm9ybV9pdGVtICk7XG5cblx0XHRjdXN0b21fbGFiZWxfd2lkZ2V0ID0gJCggJzxkaXYgY2xhc3M9XFwnaC1ib3hcXCc+PC9kaXY+JyApO1xuXHRcdGxhYmVsID0gJCggJzxzcGFuIGNsYXNzPVwiZWRpdC12aWV3LWZvcm0taXRlbS1sYWJlbFwiPjwvc3Bhbj4nICk7XG5cdFx0Ym94ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5URVhUX0lOUFVUICk7XG5cdFx0Ym94LlRUZXh0SW5wdXQoIHsgZmllbGQ6ICdib3hfNV9ib3gnLCB3aWR0aDogNTAgfSApO1xuXHRcdGJveC5jc3MoICdmbG9hdCcsICdyaWdodCcgKTtcblx0XHRib3guYmluZCggJ2Zvcm1JdGVtQ2hhbmdlJywgZnVuY3Rpb24oIGUsIHRhcmdldCApIHtcblx0XHRcdCR0aGlzLm9uRm9ybUl0ZW1DaGFuZ2UoIHRhcmdldCApO1xuXHRcdH0gKTtcblxuXHRcdGxhYmVsLnRleHQoICQuaTE4bi5fKCAnQm94JyApICk7XG5cblx0XHR0aGlzLmVkaXRfdmlld191aV9kaWNbYm94LmdldEZpZWxkKCldID0gYm94O1xuXG5cdFx0Y3VzdG9tX2xhYmVsX3dpZGdldC5hcHBlbmQoIGJveCApO1xuXHRcdGN1c3RvbV9sYWJlbF93aWRnZXQuYXBwZW5kKCBsYWJlbCApO1xuXG5cdFx0dGhpcy5hZGRFZGl0RmllbGRUb0NvbHVtbiggJC5pMThuLl8oICdCb3gnICksIFtmb3JtX2l0ZW1faW5wdXQsIGZvcm1faXRlbV9pbnB1dF8xXSwgdGFiM19jb2x1bW4xLCAnJywgdl9ib3gsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGN1c3RvbV9sYWJlbF93aWRnZXQgKTtcblxuXHRcdC8vUmVtaXR0YW5jZXMgUGFpZCBpbiBZZWFyXG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5URVhUX0lOUFVUICk7XG5cblx0XHRmb3JtX2l0ZW1faW5wdXQuVFRleHRJbnB1dCggeyBmaWVsZDogJ3JlbWl0dGFuY2VzX3BhaWQnLCB3aWR0aDogMTIwIH0gKTtcblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ1JlbWl0dGFuY2VzIFBhaWQgaW4gWWVhcicgKSwgZm9ybV9pdGVtX2lucHV0LCB0YWIzX2NvbHVtbjEgKTtcblx0fVxuXG5cdGdldEZvcm1TZXR1cERhdGEoKSB7XG5cdFx0dmFyIG90aGVyID0ge307XG5cdFx0b3RoZXIucGVuc2lvbiA9IHtcblx0XHRcdGluY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudDogdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLnBlbnNpb25faW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50LFxuXHRcdFx0ZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50OiB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQucGVuc2lvbl9leGNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnRcblx0XHR9O1xuXG5cdFx0b3RoZXIubHVtcF9zdW1fcGF5bWVudCA9IHtcblx0XHRcdGluY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudDogdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLmx1bXBfc3VtX3BheW1lbnRfaW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50LFxuXHRcdFx0ZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50OiB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQubHVtcF9zdW1fcGF5bWVudF9leGNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnRcblx0XHR9O1xuXG5cdFx0b3RoZXIuc2VsZl9lbXBsb3llZF9jb21taXNzaW9uID0ge1xuXHRcdFx0aW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50OiB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQuc2VsZl9lbXBsb3llZF9jb21taXNzaW9uX2luY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCxcblx0XHRcdGV4Y2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudDogdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLnNlbGZfZW1wbG95ZWRfY29tbWlzc2lvbl9leGNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnRcblx0XHR9O1xuXG5cdFx0b3RoZXIuaW5jb21lX3RheCA9IHtcblx0XHRcdGluY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudDogdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLmluY29tZV90YXhfaW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50LFxuXHRcdFx0ZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50OiB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQuaW5jb21lX3RheF9leGNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnRcblx0XHR9O1xuXG5cdFx0b3RoZXIuYW5udWl0aWVzID0ge1xuXHRcdFx0aW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50OiB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQuYW5udWl0aWVzX2luY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCxcblx0XHRcdGV4Y2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudDogdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLmFubnVpdGllc19leGNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnRcblx0XHR9O1xuXG5cdFx0b3RoZXIuc2VydmljZV9mZWVzID0ge1xuXHRcdFx0aW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50OiB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQuc2VydmljZV9mZWVzX2luY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCxcblx0XHRcdGV4Y2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudDogdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLnNlcnZpY2VfZmVlc19leGNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnRcblx0XHR9O1xuXG5cdFx0b3RoZXIub3RoZXJfYm94ID0gW107XG5cblx0XHRvdGhlci5vdGhlcl9ib3gucHVzaCgge1xuXHRcdFx0Ym94OiB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQuYm94XzBfYm94LFxuXHRcdFx0aW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50OiB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQuYm94XzBfaW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50LFxuXHRcdFx0ZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50OiB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQuYm94XzBfZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50XG5cdFx0fSApO1xuXG5cdFx0b3RoZXIub3RoZXJfYm94LnB1c2goIHtcblx0XHRcdGJveDogdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLmJveF8xX2JveCxcblx0XHRcdGluY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudDogdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLmJveF8xX2luY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCxcblx0XHRcdGV4Y2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudDogdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLmJveF8xX2V4Y2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudFxuXHRcdH0gKTtcblxuXHRcdG90aGVyLm90aGVyX2JveC5wdXNoKCB7XG5cdFx0XHRib3g6IHRoaXMuY3VycmVudF9lZGl0X3JlY29yZC5ib3hfMl9ib3gsXG5cdFx0XHRpbmNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnQ6IHRoaXMuY3VycmVudF9lZGl0X3JlY29yZC5ib3hfMl9pbmNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnQsXG5cdFx0XHRleGNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnQ6IHRoaXMuY3VycmVudF9lZGl0X3JlY29yZC5ib3hfMl9leGNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnRcblx0XHR9ICk7XG5cblx0XHRvdGhlci5vdGhlcl9ib3gucHVzaCgge1xuXHRcdFx0Ym94OiB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQuYm94XzNfYm94LFxuXHRcdFx0aW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50OiB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQuYm94XzNfaW5jbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50LFxuXHRcdFx0ZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50OiB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQuYm94XzNfZXhjbHVkZV9wYXlfc3R1Yl9lbnRyeV9hY2NvdW50XG5cdFx0fSApO1xuXG5cdFx0b3RoZXIub3RoZXJfYm94LnB1c2goIHtcblx0XHRcdGJveDogdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLmJveF80X2JveCxcblx0XHRcdGluY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudDogdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLmJveF80X2luY2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudCxcblx0XHRcdGV4Y2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudDogdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLmJveF80X2V4Y2x1ZGVfcGF5X3N0dWJfZW50cnlfYWNjb3VudFxuXHRcdH0gKTtcblxuXHRcdG90aGVyLm90aGVyX2JveC5wdXNoKCB7XG5cdFx0XHRib3g6IHRoaXMuY3VycmVudF9lZGl0X3JlY29yZC5ib3hfNV9ib3gsXG5cdFx0XHRpbmNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnQ6IHRoaXMuY3VycmVudF9lZGl0X3JlY29yZC5ib3hfNV9pbmNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnQsXG5cdFx0XHRleGNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnQ6IHRoaXMuY3VycmVudF9lZGl0X3JlY29yZC5ib3hfNV9leGNsdWRlX3BheV9zdHViX2VudHJ5X2FjY291bnRcblx0XHR9ICk7XG5cblx0XHRvdGhlci5zdGF0dXNfaWQgPSB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQuc3RhdHVzX2lkO1xuXG5cdFx0b3RoZXIucmVtaXR0YW5jZXNfcGFpZCA9IHRoaXMuY3VycmVudF9lZGl0X3JlY29yZC5yZW1pdHRhbmNlc19wYWlkO1xuXG5cdFx0cmV0dXJuIG90aGVyO1xuXHR9XG5cblx0LyoganNoaW50IGlnbm9yZTpzdGFydCAqL1xuXHRzZXRGb3JtU2V0dXBEYXRhKCByZXNfZGF0YSApIHtcblxuXHRcdGlmICggIXJlc19kYXRhICkge1xuXHRcdFx0dGhpcy5zaG93X2VtcHR5X21lc3NhZ2UgPSB0cnVlO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRsZXQgYmF0Y2hfZ2V0X3JlYWxfZGF0YSA9IHRoaXMucHJvY2Vzc0Zvcm1TZXR1cERhdGFBbmRBZGRUb0JhdGNoKCByZXNfZGF0YSwgW1xuXHRcdFx0XHR7IGRhdGE6IF8uZ2V0KHJlc19kYXRhLCAncGVuc2lvbicpLCBmaWVsZF9rZXk6ICdwZW5zaW9uJywgYXBpOiB0aGlzLmFwaV9wYXlzdHViLCBhcGlfbWV0aG9kOiAnZ2V0UGF5U3R1YkVudHJ5QWNjb3VudCcgfSxcblx0XHRcdFx0eyBkYXRhOiBfLmdldChyZXNfZGF0YSwgJ2x1bXBfc3VtX3BheW1lbnQnKSwgZmllbGRfa2V5OiAnbHVtcF9zdW1fcGF5bWVudCcsIGFwaTogdGhpcy5hcGlfcGF5c3R1YiwgYXBpX21ldGhvZDogJ2dldFBheVN0dWJFbnRyeUFjY291bnQnIH0sXG5cdFx0XHRcdHsgZGF0YTogXy5nZXQocmVzX2RhdGEsICdzZWxmX2VtcGxveWVkX2NvbW1pc3Npb24nKSwgZmllbGRfa2V5OiAnc2VsZl9lbXBsb3llZF9jb21taXNzaW9uJywgYXBpOiB0aGlzLmFwaV9wYXlzdHViLCBhcGlfbWV0aG9kOiAnZ2V0UGF5U3R1YkVudHJ5QWNjb3VudCcgfSxcblx0XHRcdFx0eyBkYXRhOiBfLmdldChyZXNfZGF0YSwgJ2luY29tZV90YXgnKSwgZmllbGRfa2V5OiAnaW5jb21lX3RheCcsIGFwaTogdGhpcy5hcGlfcGF5c3R1YiwgYXBpX21ldGhvZDogJ2dldFBheVN0dWJFbnRyeUFjY291bnQnIH0sXG5cdFx0XHRcdHsgZGF0YTogXy5nZXQocmVzX2RhdGEsICdhbm51aXRpZXMnKSwgZmllbGRfa2V5OiAnYW5udWl0aWVzJywgYXBpOiB0aGlzLmFwaV9wYXlzdHViLCBhcGlfbWV0aG9kOiAnZ2V0UGF5U3R1YkVudHJ5QWNjb3VudCcgfSxcblx0XHRcdFx0eyBkYXRhOiBfLmdldChyZXNfZGF0YSwgJ3NlcnZpY2VfZmVlcycpLCBmaWVsZF9rZXk6ICdzZXJ2aWNlX2ZlZXMnLCBhcGk6IHRoaXMuYXBpX3BheXN0dWIsIGFwaV9tZXRob2Q6ICdnZXRQYXlTdHViRW50cnlBY2NvdW50JyB9LFxuXHRcdFx0XHR7IGRhdGE6IF8uZ2V0KHJlc19kYXRhLCAnc3RhdHVzX2lkJyksIGZpZWxkX2tleTogJ3N0YXR1c19pZCcsIGFwaTogbnVsbCB9LFxuXHRcdFx0XHR7IGRhdGE6IF8uZ2V0KHJlc19kYXRhLCAncmVtaXR0YW5jZXNfcGFpZCcpLCBmaWVsZF9rZXk6ICdyZW1pdHRhbmNlc19wYWlkJywgYXBpOiBudWxsIH0sXG5cdFx0XHRcdHsgZGF0YTogXy5nZXQocmVzX2RhdGEsIFsnb3RoZXJfYm94JywgMCBdKSwgZmllbGRfa2V5OiAnYm94XzAnLCBhcGk6IHRoaXMuYXBpX3BheXN0dWIsIGFwaV9tZXRob2Q6ICdnZXRQYXlTdHViRW50cnlBY2NvdW50JyB9LFxuXHRcdFx0XHR7IGRhdGE6IF8uZ2V0KHJlc19kYXRhLCBbJ290aGVyX2JveCcsIDEgXSksIGZpZWxkX2tleTogJ2JveF8xJywgYXBpOiB0aGlzLmFwaV9wYXlzdHViLCBhcGlfbWV0aG9kOiAnZ2V0UGF5U3R1YkVudHJ5QWNjb3VudCcgfSxcblx0XHRcdFx0eyBkYXRhOiBfLmdldChyZXNfZGF0YSwgWydvdGhlcl9ib3gnLCAyIF0pLCBmaWVsZF9rZXk6ICdib3hfMicsIGFwaTogdGhpcy5hcGlfcGF5c3R1YiwgYXBpX21ldGhvZDogJ2dldFBheVN0dWJFbnRyeUFjY291bnQnIH0sXG5cdFx0XHRcdHsgZGF0YTogXy5nZXQocmVzX2RhdGEsIFsnb3RoZXJfYm94JywgMyBdKSwgZmllbGRfa2V5OiAnYm94XzMnLCBhcGk6IHRoaXMuYXBpX3BheXN0dWIsIGFwaV9tZXRob2Q6ICdnZXRQYXlTdHViRW50cnlBY2NvdW50JyB9LFxuXHRcdFx0XHR7IGRhdGE6IF8uZ2V0KHJlc19kYXRhLCBbJ290aGVyX2JveCcsIDQgXSksIGZpZWxkX2tleTogJ2JveF80JywgYXBpOiB0aGlzLmFwaV9wYXlzdHViLCBhcGlfbWV0aG9kOiAnZ2V0UGF5U3R1YkVudHJ5QWNjb3VudCcgfSxcblx0XHRcdFx0eyBkYXRhOiBfLmdldChyZXNfZGF0YSwgWydvdGhlcl9ib3gnLCA1IF0pLCBmaWVsZF9rZXk6ICdib3hfNScsIGFwaTogdGhpcy5hcGlfcGF5c3R1YiwgYXBpX21ldGhvZDogJ2dldFBheVN0dWJFbnRyeUFjY291bnQnIH0sXG5cdFx0XHRdICk7XG5cblx0XHRcdHRoaXMuZ2V0QmF0Y2hlZFJlYWxGb3JtRGF0YUZyb21BUEkoIGJhdGNoX2dldF9yZWFsX2RhdGEgKTtcblx0XHR9XG5cdH1cblxuXHQvKiBqc2hpbnQgaWdub3JlOmVuZCAqL1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///9994\n")}}]);