primeng 11.4.4 → 12.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/accordion/accordion.d.ts +10 -0
- package/accordion/package.json +1 -2
- package/accordion/primeng-accordion.d.ts +1 -0
- package/api/confirmationservice.d.ts +3 -0
- package/api/contextmenuservice.d.ts +3 -0
- package/api/filterservice.d.ts +3 -0
- package/api/menuitem.d.ts +2 -0
- package/api/message.d.ts +1 -1
- package/api/messageservice.d.ts +3 -0
- package/api/package.json +1 -2
- package/api/primeng-api.d.ts +1 -0
- package/api/primengconfig.d.ts +3 -0
- package/api/shared.d.ts +11 -0
- package/api/treedragdropservice.d.ts +3 -0
- package/autocomplete/autocomplete.d.ts +12 -0
- package/autocomplete/package.json +1 -2
- package/autocomplete/primeng-autocomplete.d.ts +1 -0
- package/avatar/avatar.d.ts +7 -0
- package/avatar/package.json +1 -2
- package/avatar/primeng-avatar.d.ts +1 -0
- package/avatargroup/avatargroup.d.ts +7 -0
- package/avatargroup/package.json +1 -2
- package/avatargroup/primeng-avatargroup.d.ts +1 -0
- package/badge/badge.d.ts +10 -0
- package/badge/package.json +1 -2
- package/badge/primeng-badge.d.ts +1 -0
- package/blockui/blockui.d.ts +7 -0
- package/blockui/package.json +1 -2
- package/blockui/primeng-blockui.d.ts +1 -0
- package/breadcrumb/breadcrumb.d.ts +8 -0
- package/breadcrumb/package.json +1 -2
- package/breadcrumb/primeng-breadcrumb.d.ts +1 -0
- package/bundles/primeng-accordion.umd.js +130 -71
- package/bundles/primeng-accordion.umd.js.map +1 -1
- package/bundles/primeng-api.umd.js +98 -52
- package/bundles/primeng-api.umd.js.map +1 -1
- package/bundles/primeng-autocomplete.umd.js +223 -118
- package/bundles/primeng-autocomplete.umd.js.map +1 -1
- package/bundles/primeng-avatar.umd.js +61 -26
- package/bundles/primeng-avatar.umd.js.map +1 -1
- package/bundles/primeng-avatargroup.umd.js +51 -21
- package/bundles/primeng-avatargroup.umd.js.map +1 -1
- package/bundles/primeng-badge.umd.js +72 -38
- package/bundles/primeng-badge.umd.js.map +1 -1
- package/bundles/primeng-blockui.umd.js +63 -30
- package/bundles/primeng-blockui.umd.js.map +1 -1
- package/bundles/primeng-breadcrumb.umd.js +59 -25
- package/bundles/primeng-breadcrumb.umd.js.map +1 -1
- package/bundles/primeng-button.umd.js +100 -51
- package/bundles/primeng-button.umd.js.map +1 -1
- package/bundles/primeng-calendar.umd.js +277 -150
- package/bundles/primeng-calendar.umd.js.map +1 -1
- package/bundles/primeng-captcha.umd.js +65 -34
- package/bundles/primeng-captcha.umd.js.map +1 -1
- package/bundles/primeng-card.umd.js +64 -29
- package/bundles/primeng-card.umd.js.map +1 -1
- package/bundles/primeng-carousel.umd.js +102 -51
- package/bundles/primeng-carousel.umd.js.map +1 -1
- package/bundles/primeng-cascadeselect.umd.js +176 -100
- package/bundles/primeng-cascadeselect.umd.js.map +1 -1
- package/bundles/primeng-chart.umd.js +41 -30
- package/bundles/primeng-chart.umd.js.map +1 -1
- package/bundles/primeng-checkbox.umd.js +88 -44
- package/bundles/primeng-checkbox.umd.js.map +1 -1
- package/bundles/primeng-chip.umd.js +64 -28
- package/bundles/primeng-chip.umd.js.map +1 -1
- package/bundles/primeng-chips.umd.js +106 -58
- package/bundles/primeng-chips.umd.js.map +1 -1
- package/bundles/primeng-codehighlighter.umd.js +42 -16
- package/bundles/primeng-codehighlighter.umd.js.map +1 -1
- package/bundles/primeng-colorpicker.umd.js +132 -69
- package/bundles/primeng-colorpicker.umd.js.map +1 -1
- package/bundles/primeng-confirmdialog.umd.js +151 -81
- package/bundles/primeng-confirmdialog.umd.js.map +1 -1
- package/bundles/primeng-confirmpopup.umd.js +96 -52
- package/bundles/primeng-confirmpopup.umd.js.map +1 -1
- package/bundles/primeng-contextmenu.umd.js +108 -60
- package/bundles/primeng-contextmenu.umd.js.map +1 -1
- package/bundles/primeng-dataview.umd.js +141 -79
- package/bundles/primeng-dataview.umd.js.map +1 -1
- package/bundles/primeng-defer.umd.js +48 -24
- package/bundles/primeng-defer.umd.js.map +1 -1
- package/bundles/primeng-dialog.umd.js +176 -89
- package/bundles/primeng-dialog.umd.js.map +1 -1
- package/bundles/primeng-divider.umd.js +57 -24
- package/bundles/primeng-divider.umd.js.map +1 -1
- package/bundles/primeng-dragdrop.umd.js +99 -54
- package/bundles/primeng-dragdrop.umd.js.map +1 -1
- package/bundles/primeng-dropdown.umd.js +255 -134
- package/bundles/primeng-dropdown.umd.js.map +1 -1
- package/bundles/primeng-dynamicdialog.umd.js +84 -55
- package/bundles/primeng-dynamicdialog.umd.js.map +1 -1
- package/bundles/primeng-editor.umd.js +61 -41
- package/bundles/primeng-editor.umd.js.map +1 -1
- package/bundles/primeng-fieldset.umd.js +97 -48
- package/bundles/primeng-fieldset.umd.js.map +1 -1
- package/bundles/primeng-fileupload.umd.js +165 -90
- package/bundles/primeng-fileupload.umd.js.map +1 -1
- package/bundles/primeng-focustrap.umd.js +50 -20
- package/bundles/primeng-focustrap.umd.js.map +1 -1
- package/bundles/primeng-fullcalendar.umd.js +54 -25
- package/bundles/primeng-fullcalendar.umd.js.map +1 -1
- package/bundles/primeng-galleria.umd.js +229 -140
- package/bundles/primeng-galleria.umd.js.map +1 -1
- package/bundles/primeng-gmap.umd.js +81 -46
- package/bundles/primeng-gmap.umd.js.map +1 -1
- package/bundles/primeng-inplace.umd.js +89 -46
- package/bundles/primeng-inplace.umd.js.map +1 -1
- package/bundles/primeng-inputmask.umd.js +115 -61
- package/bundles/primeng-inputmask.umd.js.map +1 -1
- package/bundles/primeng-inputnumber.umd.js +143 -75
- package/bundles/primeng-inputnumber.umd.js.map +1 -1
- package/bundles/primeng-inputswitch.umd.js +68 -34
- package/bundles/primeng-inputswitch.umd.js.map +1 -1
- package/bundles/primeng-inputtext.umd.js +58 -28
- package/bundles/primeng-inputtext.umd.js.map +1 -1
- package/bundles/primeng-inputtextarea.umd.js +73 -37
- package/bundles/primeng-inputtextarea.umd.js.map +1 -1
- package/bundles/primeng-keyfilter.umd.js +61 -27
- package/bundles/primeng-keyfilter.umd.js.map +1 -1
- package/bundles/primeng-knob.umd.js +84 -43
- package/bundles/primeng-knob.umd.js.map +1 -1
- package/bundles/primeng-lightbox.umd.js +70 -34
- package/bundles/primeng-lightbox.umd.js.map +1 -1
- package/bundles/primeng-listbox.umd.js +129 -68
- package/bundles/primeng-listbox.umd.js.map +1 -1
- package/bundles/primeng-megamenu.umd.js +64 -31
- package/bundles/primeng-megamenu.umd.js.map +1 -1
- package/bundles/primeng-menu.umd.js +114 -61
- package/bundles/primeng-menu.umd.js.map +1 -1
- package/bundles/primeng-menubar.umd.js +97 -56
- package/bundles/primeng-menubar.umd.js.map +1 -1
- package/bundles/primeng-message.umd.js +57 -24
- package/bundles/primeng-message.umd.js.map +1 -1
- package/bundles/primeng-messages.umd.js +101 -49
- package/bundles/primeng-messages.umd.js.map +1 -1
- package/bundles/primeng-multiselect.umd.js +251 -136
- package/bundles/primeng-multiselect.umd.js.map +1 -1
- package/bundles/primeng-orderlist.umd.js +107 -55
- package/bundles/primeng-orderlist.umd.js.map +1 -1
- package/bundles/primeng-organizationchart.umd.js +123 -69
- package/bundles/primeng-organizationchart.umd.js.map +1 -1
- package/bundles/primeng-overlaypanel.umd.js +112 -58
- package/bundles/primeng-overlaypanel.umd.js.map +1 -1
- package/bundles/primeng-paginator.umd.js +90 -42
- package/bundles/primeng-paginator.umd.js.map +1 -1
- package/bundles/primeng-panel.umd.js +116 -57
- package/bundles/primeng-panel.umd.js.map +1 -1
- package/bundles/primeng-panelmenu.umd.js +126 -69
- package/bundles/primeng-panelmenu.umd.js.map +1 -1
- package/bundles/primeng-password.umd.js +158 -89
- package/bundles/primeng-password.umd.js.map +1 -1
- package/bundles/primeng-picklist.umd.js +159 -85
- package/bundles/primeng-picklist.umd.js.map +1 -1
- package/bundles/primeng-progressbar.umd.js +59 -25
- package/bundles/primeng-progressbar.umd.js.map +1 -1
- package/bundles/primeng-progressspinner.umd.js +57 -24
- package/bundles/primeng-progressspinner.umd.js.map +1 -1
- package/bundles/primeng-radiobutton.umd.js +87 -45
- package/bundles/primeng-radiobutton.umd.js.map +1 -1
- package/bundles/primeng-rating.umd.js +75 -38
- package/bundles/primeng-rating.umd.js.map +1 -1
- package/bundles/primeng-ripple.umd.js +50 -21
- package/bundles/primeng-ripple.umd.js.map +1 -1
- package/bundles/primeng-scrollpanel.umd.js +66 -31
- package/bundles/primeng-scrollpanel.umd.js.map +1 -1
- package/bundles/primeng-scrolltop.umd.js +86 -43
- package/bundles/primeng-scrolltop.umd.js.map +1 -1
- package/bundles/primeng-selectbutton.umd.js +82 -41
- package/bundles/primeng-selectbutton.umd.js.map +1 -1
- package/bundles/primeng-sidebar.umd.js +110 -57
- package/bundles/primeng-sidebar.umd.js.map +1 -1
- package/bundles/primeng-skeleton.umd.js +63 -27
- package/bundles/primeng-skeleton.umd.js.map +1 -1
- package/bundles/primeng-slidemenu.umd.js +140 -74
- package/bundles/primeng-slidemenu.umd.js.map +1 -1
- package/bundles/primeng-slider.umd.js +86 -45
- package/bundles/primeng-slider.umd.js.map +1 -1
- package/bundles/primeng-spinner.umd.js +103 -55
- package/bundles/primeng-spinner.umd.js.map +1 -1
- package/bundles/primeng-splitbutton.umd.js +92 -40
- package/bundles/primeng-splitbutton.umd.js.map +1 -1
- package/bundles/primeng-splitter.umd.js +91 -48
- package/bundles/primeng-splitter.umd.js.map +1 -1
- package/bundles/primeng-steps.umd.js +64 -32
- package/bundles/primeng-steps.umd.js.map +1 -1
- package/bundles/primeng-styleclass.umd.js +61 -28
- package/bundles/primeng-styleclass.umd.js.map +1 -1
- package/bundles/primeng-table.umd.js +915 -626
- package/bundles/primeng-table.umd.js.map +1 -1
- package/bundles/primeng-tabmenu.umd.js +68 -27
- package/bundles/primeng-tabmenu.umd.js.map +1 -1
- package/bundles/primeng-tabview.umd.js +120 -64
- package/bundles/primeng-tabview.umd.js.map +1 -1
- package/bundles/primeng-tag.umd.js +59 -25
- package/bundles/primeng-tag.umd.js.map +1 -1
- package/bundles/primeng-terminal.umd.js +63 -32
- package/bundles/primeng-terminal.umd.js.map +1 -1
- package/bundles/primeng-tieredmenu.umd.js +121 -70
- package/bundles/primeng-tieredmenu.umd.js.map +1 -1
- package/bundles/primeng-timeline.umd.js +60 -28
- package/bundles/primeng-timeline.umd.js.map +1 -1
- package/bundles/primeng-toast.umd.js +165 -89
- package/bundles/primeng-toast.umd.js.map +1 -1
- package/bundles/primeng-togglebutton.umd.js +74 -36
- package/bundles/primeng-togglebutton.umd.js.map +1 -1
- package/bundles/primeng-toolbar.umd.js +54 -25
- package/bundles/primeng-toolbar.umd.js.map +1 -1
- package/bundles/primeng-tooltip.umd.js +68 -31
- package/bundles/primeng-tooltip.umd.js.map +1 -1
- package/bundles/primeng-tree.umd.js +191 -103
- package/bundles/primeng-tree.umd.js.map +1 -1
- package/bundles/primeng-treetable.umd.js +547 -394
- package/bundles/primeng-treetable.umd.js.map +1 -1
- package/bundles/primeng-tristatecheckbox.umd.js +73 -36
- package/bundles/primeng-tristatecheckbox.umd.js.map +1 -1
- package/bundles/primeng-virtualscroller.umd.js +91 -42
- package/bundles/primeng-virtualscroller.umd.js.map +1 -1
- package/button/button.d.ts +10 -0
- package/button/package.json +1 -2
- package/button/primeng-button.d.ts +1 -0
- package/calendar/calendar.d.ts +10 -0
- package/calendar/package.json +1 -2
- package/calendar/primeng-calendar.d.ts +1 -0
- package/captcha/captcha.d.ts +7 -0
- package/captcha/package.json +1 -2
- package/captcha/primeng-captcha.d.ts +1 -0
- package/card/card.d.ts +8 -0
- package/card/package.json +1 -2
- package/card/primeng-card.d.ts +1 -0
- package/carousel/carousel.d.ts +9 -0
- package/carousel/package.json +1 -2
- package/carousel/primeng-carousel.d.ts +1 -0
- package/cascadeselect/cascadeselect.d.ts +11 -0
- package/cascadeselect/package.json +1 -2
- package/cascadeselect/primeng-cascadeselect.d.ts +1 -0
- package/chart/chart.d.ts +7 -0
- package/chart/package.json +1 -2
- package/chart/primeng-chart.d.ts +1 -0
- package/checkbox/checkbox.d.ts +7 -0
- package/checkbox/package.json +1 -2
- package/checkbox/primeng-checkbox.d.ts +1 -0
- package/chip/chip.d.ts +7 -0
- package/chip/package.json +1 -2
- package/chip/primeng-chip.d.ts +1 -0
- package/chips/chips.d.ts +9 -0
- package/chips/package.json +1 -2
- package/chips/primeng-chips.d.ts +1 -0
- package/codehighlighter/codehighlighter.d.ts +7 -0
- package/codehighlighter/package.json +1 -2
- package/codehighlighter/primeng-codehighlighter.d.ts +1 -0
- package/colorpicker/colorpicker.d.ts +9 -2
- package/colorpicker/package.json +1 -2
- package/colorpicker/primeng-colorpicker.d.ts +1 -0
- package/confirmdialog/confirmdialog.d.ts +10 -0
- package/confirmdialog/package.json +1 -2
- package/confirmdialog/primeng-confirmdialog.d.ts +1 -0
- package/confirmpopup/confirmpopup.d.ts +8 -0
- package/confirmpopup/package.json +1 -2
- package/confirmpopup/primeng-confirmpopup.d.ts +1 -0
- package/contextmenu/contextmenu.d.ts +11 -0
- package/contextmenu/package.json +1 -2
- package/contextmenu/primeng-contextmenu.d.ts +1 -0
- package/dataview/dataview.d.ts +11 -0
- package/dataview/package.json +1 -2
- package/dataview/primeng-dataview.d.ts +1 -0
- package/defer/defer.d.ts +7 -0
- package/defer/package.json +1 -2
- package/defer/primeng-defer.d.ts +1 -0
- package/dialog/dialog.d.ts +11 -1
- package/dialog/package.json +1 -2
- package/dialog/primeng-dialog.d.ts +1 -0
- package/divider/divider.d.ts +7 -0
- package/divider/package.json +1 -2
- package/divider/primeng-divider.d.ts +1 -0
- package/dom/package.json +1 -2
- package/dom/primeng-dom.d.ts +1 -0
- package/dragdrop/dragdrop.d.ts +9 -0
- package/dragdrop/package.json +1 -2
- package/dragdrop/primeng-dragdrop.d.ts +1 -0
- package/dropdown/dropdown.d.ts +14 -0
- package/dropdown/package.json +1 -2
- package/dropdown/primeng-dropdown.d.ts +1 -0
- package/dynamicdialog/dialogservice.d.ts +3 -0
- package/dynamicdialog/dynamicdialog.d.ts +8 -0
- package/dynamicdialog/dynamicdialogcontent.d.ts +3 -0
- package/dynamicdialog/package.json +1 -2
- package/dynamicdialog/primeng-dynamicdialog.d.ts +1 -1
- package/editor/editor.d.ts +8 -0
- package/editor/package.json +1 -2
- package/editor/primeng-editor.d.ts +1 -0
- package/esm2015/accordion/accordion.js +131 -68
- package/esm2015/accordion/primeng-accordion.js +1 -1
- package/esm2015/accordion/public_api.js +1 -1
- package/esm2015/api/blockableui.js +1 -1
- package/esm2015/api/confirmaeventtype.js +1 -1
- package/esm2015/api/confirmation.js +1 -1
- package/esm2015/api/confirmationservice.js +7 -4
- package/esm2015/api/contextmenuservice.js +7 -4
- package/esm2015/api/filtermatchmode.js +1 -1
- package/esm2015/api/filtermetadata.js +1 -1
- package/esm2015/api/filteroperator.js +1 -1
- package/esm2015/api/filterservice.js +7 -5
- package/esm2015/api/lazyloadevent.js +1 -1
- package/esm2015/api/megamenuitem.js +1 -1
- package/esm2015/api/menuitem.js +1 -1
- package/esm2015/api/message.js +1 -1
- package/esm2015/api/messageservice.js +7 -4
- package/esm2015/api/primeicons.js +1 -1
- package/esm2015/api/primeng-api.js +1 -1
- package/esm2015/api/primengconfig.js +7 -5
- package/esm2015/api/public_api.js +1 -1
- package/esm2015/api/selectitem.js +1 -1
- package/esm2015/api/selectitemgroup.js +1 -1
- package/esm2015/api/shared.js +46 -34
- package/esm2015/api/sortevent.js +1 -1
- package/esm2015/api/sortmeta.js +1 -1
- package/esm2015/api/tablestate.js +1 -1
- package/esm2015/api/translation.js +1 -1
- package/esm2015/api/translationkeys.js +1 -1
- package/esm2015/api/treedragdropservice.js +7 -4
- package/esm2015/api/treenode.js +1 -1
- package/esm2015/api/treenodedragevent.js +1 -1
- package/esm2015/autocomplete/autocomplete.js +255 -106
- package/esm2015/autocomplete/primeng-autocomplete.js +1 -1
- package/esm2015/autocomplete/public_api.js +1 -1
- package/esm2015/avatar/avatar.js +47 -26
- package/esm2015/avatar/primeng-avatar.js +1 -1
- package/esm2015/avatar/public_api.js +1 -1
- package/esm2015/avatargroup/avatargroup.js +34 -21
- package/esm2015/avatargroup/primeng-avatargroup.js +1 -1
- package/esm2015/avatargroup/public_api.js +1 -1
- package/esm2015/badge/badge.js +56 -39
- package/esm2015/badge/primeng-badge.js +1 -1
- package/esm2015/badge/public_api.js +1 -1
- package/esm2015/blockui/blockui.js +48 -31
- package/esm2015/blockui/primeng-blockui.js +1 -1
- package/esm2015/blockui/public_api.js +1 -1
- package/esm2015/breadcrumb/breadcrumb.js +84 -24
- package/esm2015/breadcrumb/primeng-breadcrumb.js +1 -1
- package/esm2015/breadcrumb/public_api.js +1 -1
- package/esm2015/button/button.js +97 -49
- package/esm2015/button/primeng-button.js +1 -1
- package/esm2015/button/public_api.js +1 -1
- package/esm2015/calendar/calendar.js +367 -132
- package/esm2015/calendar/primeng-calendar.js +1 -1
- package/esm2015/calendar/public_api.js +1 -1
- package/esm2015/captcha/captcha.js +43 -33
- package/esm2015/captcha/primeng-captcha.js +1 -1
- package/esm2015/captcha/public_api.js +1 -1
- package/esm2015/card/card.js +69 -30
- package/esm2015/card/primeng-card.js +1 -1
- package/esm2015/card/public_api.js +1 -1
- package/esm2015/carousel/carousel.js +126 -48
- package/esm2015/carousel/primeng-carousel.js +1 -1
- package/esm2015/carousel/public_api.js +1 -1
- package/esm2015/cascadeselect/cascadeselect.js +195 -92
- package/esm2015/cascadeselect/primeng-cascadeselect.js +1 -1
- package/esm2015/cascadeselect/public_api.js +1 -1
- package/esm2015/chart/chart.js +45 -30
- package/esm2015/chart/primeng-chart.js +1 -1
- package/esm2015/chart/public_api.js +1 -1
- package/esm2015/checkbox/checkbox.js +79 -42
- package/esm2015/checkbox/primeng-checkbox.js +1 -1
- package/esm2015/checkbox/public_api.js +1 -1
- package/esm2015/chip/chip.js +50 -27
- package/esm2015/chip/primeng-chip.js +1 -1
- package/esm2015/chip/public_api.js +1 -1
- package/esm2015/chips/chips.js +92 -51
- package/esm2015/chips/primeng-chips.js +1 -1
- package/esm2015/chips/public_api.js +1 -1
- package/esm2015/codehighlighter/codehighlighter.js +22 -17
- package/esm2015/codehighlighter/primeng-codehighlighter.js +1 -1
- package/esm2015/codehighlighter/public_api.js +1 -1
- package/esm2015/colorpicker/colorpicker.js +129 -67
- package/esm2015/colorpicker/primeng-colorpicker.js +1 -1
- package/esm2015/colorpicker/public_api.js +1 -1
- package/esm2015/confirmdialog/confirmdialog.js +151 -74
- package/esm2015/confirmdialog/primeng-confirmdialog.js +1 -1
- package/esm2015/confirmdialog/public_api.js +1 -1
- package/esm2015/confirmpopup/confirmpopup.js +88 -50
- package/esm2015/confirmpopup/primeng-confirmpopup.js +1 -1
- package/esm2015/confirmpopup/public_api.js +1 -1
- package/esm2015/contextmenu/contextmenu.js +114 -58
- package/esm2015/contextmenu/primeng-contextmenu.js +1 -1
- package/esm2015/contextmenu/public_api.js +1 -1
- package/esm2015/dataview/dataview.js +164 -76
- package/esm2015/dataview/primeng-dataview.js +1 -1
- package/esm2015/dataview/public_api.js +1 -1
- package/esm2015/defer/defer.js +27 -24
- package/esm2015/defer/primeng-defer.js +1 -1
- package/esm2015/defer/public_api.js +1 -1
- package/esm2015/dialog/dialog.js +189 -83
- package/esm2015/dialog/primeng-dialog.js +1 -1
- package/esm2015/dialog/public_api.js +1 -1
- package/esm2015/divider/divider.js +42 -24
- package/esm2015/divider/primeng-divider.js +1 -1
- package/esm2015/divider/public_api.js +1 -1
- package/esm2015/dom/connectedoverlayscrollhandler.js +1 -1
- package/esm2015/dom/domhandler.js +1 -1
- package/esm2015/dom/primeng-dom.js +1 -1
- package/esm2015/dom/public_api.js +1 -1
- package/esm2015/dragdrop/dragdrop.js +73 -49
- package/esm2015/dragdrop/primeng-dragdrop.js +1 -1
- package/esm2015/dragdrop/public_api.js +1 -1
- package/esm2015/dropdown/dropdown.js +308 -126
- package/esm2015/dropdown/primeng-dropdown.js +1 -1
- package/esm2015/dropdown/public_api.js +1 -1
- package/esm2015/dynamicdialog/dialogservice.js +8 -10
- package/esm2015/dynamicdialog/dynamicdialog-config.js +1 -1
- package/esm2015/dynamicdialog/dynamicdialog-injector.js +1 -1
- package/esm2015/dynamicdialog/dynamicdialog-ref.js +1 -1
- package/esm2015/dynamicdialog/dynamicdialog.js +75 -41
- package/esm2015/dynamicdialog/dynamicdialogcontent.js +11 -10
- package/esm2015/dynamicdialog/primeng-dynamicdialog.js +1 -2
- package/esm2015/dynamicdialog/public_api.js +1 -1
- package/esm2015/editor/editor.js +107 -38
- package/esm2015/editor/primeng-editor.js +1 -1
- package/esm2015/editor/public_api.js +1 -1
- package/esm2015/fieldset/fieldset.js +98 -46
- package/esm2015/fieldset/primeng-fieldset.js +1 -1
- package/esm2015/fieldset/public_api.js +1 -1
- package/esm2015/fileupload/fileupload.js +179 -78
- package/esm2015/fileupload/primeng-fileupload.js +1 -1
- package/esm2015/fileupload/public_api.js +1 -1
- package/esm2015/focustrap/focustrap.js +30 -21
- package/esm2015/focustrap/primeng-focustrap.js +1 -1
- package/esm2015/focustrap/public_api.js +1 -1
- package/esm2015/fullcalendar/fullcalendar.js +34 -26
- package/esm2015/fullcalendar/primeng-fullcalendar.js +1 -1
- package/esm2015/fullcalendar/public_api.js +1 -1
- package/esm2015/galleria/galleria.js +284 -131
- package/esm2015/galleria/primeng-galleria.js +1 -1
- package/esm2015/galleria/public_api.js +1 -1
- package/esm2015/gmap/gmap.js +52 -38
- package/esm2015/gmap/primeng-gmap.js +1 -1
- package/esm2015/gmap/public_api.js +1 -1
- package/esm2015/inplace/inplace.js +80 -45
- package/esm2015/inplace/primeng-inplace.js +1 -1
- package/esm2015/inplace/public_api.js +1 -1
- package/esm2015/inputmask/inputmask.js +92 -56
- package/esm2015/inputmask/primeng-inputmask.js +1 -1
- package/esm2015/inputmask/public_api.js +1 -1
- package/esm2015/inputnumber/inputnumber.js +137 -70
- package/esm2015/inputnumber/primeng-inputnumber.js +1 -1
- package/esm2015/inputnumber/public_api.js +1 -1
- package/esm2015/inputswitch/inputswitch.js +55 -33
- package/esm2015/inputswitch/primeng-inputswitch.js +1 -1
- package/esm2015/inputswitch/public_api.js +1 -1
- package/esm2015/inputtext/inputtext.js +33 -27
- package/esm2015/inputtext/primeng-inputtext.js +1 -1
- package/esm2015/inputtext/public_api.js +1 -1
- package/esm2015/inputtextarea/inputtextarea.js +47 -35
- package/esm2015/inputtextarea/primeng-inputtextarea.js +1 -1
- package/esm2015/inputtextarea/public_api.js +1 -1
- package/esm2015/keyfilter/keyfilter.js +39 -26
- package/esm2015/keyfilter/primeng-keyfilter.js +1 -1
- package/esm2015/keyfilter/public_api.js +1 -1
- package/esm2015/knob/knob.js +71 -42
- package/esm2015/knob/primeng-knob.js +1 -1
- package/esm2015/knob/public_api.js +1 -1
- package/esm2015/lightbox/lightbox.js +78 -35
- package/esm2015/lightbox/primeng-lightbox.js +1 -1
- package/esm2015/lightbox/public_api.js +1 -1
- package/esm2015/listbox/listbox.js +167 -61
- package/esm2015/listbox/primeng-listbox.js +1 -1
- package/esm2015/listbox/public_api.js +1 -1
- package/esm2015/megamenu/megamenu.js +118 -32
- package/esm2015/megamenu/primeng-megamenu.js +1 -1
- package/esm2015/megamenu/public_api.js +1 -1
- package/esm2015/menu/menu.js +127 -60
- package/esm2015/menu/primeng-menu.js +1 -1
- package/esm2015/menu/public_api.js +1 -1
- package/esm2015/menubar/menubar.js +121 -56
- package/esm2015/menubar/primeng-menubar.js +1 -1
- package/esm2015/menubar/public_api.js +1 -1
- package/esm2015/message/message.js +51 -24
- package/esm2015/message/primeng-message.js +1 -1
- package/esm2015/message/public_api.js +1 -1
- package/esm2015/messages/messages.js +109 -48
- package/esm2015/messages/primeng-messages.js +1 -1
- package/esm2015/messages/public_api.js +1 -1
- package/esm2015/multiselect/multiselect.js +332 -125
- package/esm2015/multiselect/primeng-multiselect.js +1 -1
- package/esm2015/multiselect/public_api.js +1 -1
- package/esm2015/orderlist/orderlist.js +119 -49
- package/esm2015/orderlist/primeng-orderlist.js +1 -1
- package/esm2015/orderlist/public_api.js +1 -1
- package/esm2015/organizationchart/organizationchart.js +139 -64
- package/esm2015/organizationchart/primeng-organizationchart.js +1 -1
- package/esm2015/organizationchart/public_api.js +1 -1
- package/esm2015/overlaypanel/overlaypanel.js +102 -57
- package/esm2015/overlaypanel/primeng-overlaypanel.js +1 -1
- package/esm2015/overlaypanel/public_api.js +1 -1
- package/esm2015/paginator/paginator.js +112 -42
- package/esm2015/paginator/primeng-paginator.js +1 -1
- package/esm2015/paginator/public_api.js +1 -1
- package/esm2015/panel/panel.js +120 -55
- package/esm2015/panel/primeng-panel.js +1 -1
- package/esm2015/panel/public_api.js +1 -1
- package/esm2015/panelmenu/panelmenu.js +161 -70
- package/esm2015/panelmenu/primeng-panelmenu.js +1 -1
- package/esm2015/panelmenu/public_api.js +1 -1
- package/esm2015/password/password.js +156 -88
- package/esm2015/password/primeng-password.js +1 -1
- package/esm2015/password/public_api.js +1 -1
- package/esm2015/picklist/picklist.js +215 -80
- package/esm2015/picklist/primeng-picklist.js +1 -1
- package/esm2015/picklist/public_api.js +1 -1
- package/esm2015/primeng.js +1 -1
- package/esm2015/progressbar/primeng-progressbar.js +1 -1
- package/esm2015/progressbar/progressbar.js +47 -25
- package/esm2015/progressbar/public_api.js +1 -1
- package/esm2015/progressspinner/primeng-progressspinner.js +1 -1
- package/esm2015/progressspinner/progressspinner.js +42 -24
- package/esm2015/progressspinner/public_api.js +1 -1
- package/esm2015/public_api.js +1 -1
- package/esm2015/radiobutton/primeng-radiobutton.js +1 -1
- package/esm2015/radiobutton/public_api.js +1 -1
- package/esm2015/radiobutton/radiobutton.js +79 -46
- package/esm2015/rating/primeng-rating.js +1 -1
- package/esm2015/rating/public_api.js +1 -1
- package/esm2015/rating/rating.js +59 -36
- package/esm2015/ripple/primeng-ripple.js +1 -1
- package/esm2015/ripple/public_api.js +1 -1
- package/esm2015/ripple/ripple.js +28 -23
- package/esm2015/scrollpanel/primeng-scrollpanel.js +1 -1
- package/esm2015/scrollpanel/public_api.js +1 -1
- package/esm2015/scrollpanel/scrollpanel.js +57 -32
- package/esm2015/scrolltop/primeng-scrolltop.js +1 -1
- package/esm2015/scrolltop/public_api.js +1 -1
- package/esm2015/scrolltop/scrolltop.js +71 -44
- package/esm2015/selectbutton/primeng-selectbutton.js +1 -1
- package/esm2015/selectbutton/public_api.js +1 -1
- package/esm2015/selectbutton/selectbutton.js +75 -38
- package/esm2015/sidebar/primeng-sidebar.js +1 -1
- package/esm2015/sidebar/public_api.js +1 -1
- package/esm2015/sidebar/sidebar.js +103 -56
- package/esm2015/skeleton/primeng-skeleton.js +1 -1
- package/esm2015/skeleton/public_api.js +1 -1
- package/esm2015/skeleton/skeleton.js +45 -27
- package/esm2015/slidemenu/primeng-slidemenu.js +1 -1
- package/esm2015/slidemenu/public_api.js +1 -1
- package/esm2015/slidemenu/slidemenu.js +158 -73
- package/esm2015/slider/primeng-slider.js +1 -1
- package/esm2015/slider/public_api.js +1 -1
- package/esm2015/slider/slider.js +81 -43
- package/esm2015/spinner/primeng-spinner.js +1 -1
- package/esm2015/spinner/public_api.js +1 -1
- package/esm2015/spinner/spinner.js +94 -52
- package/esm2015/splitbutton/primeng-splitbutton.js +1 -1
- package/esm2015/splitbutton/public_api.js +1 -1
- package/esm2015/splitbutton/splitbutton.js +76 -38
- package/esm2015/splitter/primeng-splitter.js +1 -1
- package/esm2015/splitter/public_api.js +1 -1
- package/esm2015/splitter/splitter.js +81 -47
- package/esm2015/steps/primeng-steps.js +1 -1
- package/esm2015/steps/public_api.js +1 -1
- package/esm2015/steps/steps.js +69 -35
- package/esm2015/styleclass/primeng-styleclass.js +1 -1
- package/esm2015/styleclass/public_api.js +1 -1
- package/esm2015/styleclass/styleclass.js +41 -29
- package/esm2015/table/primeng-table.js +1 -1
- package/esm2015/table/public_api.js +1 -1
- package/esm2015/table/table.js +1081 -584
- package/esm2015/tabmenu/primeng-tabmenu.js +1 -1
- package/esm2015/tabmenu/public_api.js +1 -1
- package/esm2015/tabmenu/tabmenu.js +76 -27
- package/esm2015/tabview/primeng-tabview.js +1 -1
- package/esm2015/tabview/public_api.js +1 -1
- package/esm2015/tabview/tabview.js +127 -62
- package/esm2015/tag/primeng-tag.js +1 -1
- package/esm2015/tag/public_api.js +1 -1
- package/esm2015/tag/tag.js +44 -25
- package/esm2015/terminal/primeng-terminal.js +1 -1
- package/esm2015/terminal/public_api.js +1 -1
- package/esm2015/terminal/terminal.js +54 -31
- package/esm2015/terminal/terminalservice.js +7 -4
- package/esm2015/tieredmenu/primeng-tieredmenu.js +1 -1
- package/esm2015/tieredmenu/public_api.js +1 -1
- package/esm2015/tieredmenu/tieredmenu.js +133 -69
- package/esm2015/timeline/primeng-timeline.js +1 -1
- package/esm2015/timeline/public_api.js +1 -1
- package/esm2015/timeline/timeline.js +67 -29
- package/esm2015/toast/primeng-toast.js +1 -1
- package/esm2015/toast/public_api.js +1 -1
- package/esm2015/toast/toast.js +166 -87
- package/esm2015/togglebutton/primeng-togglebutton.js +1 -1
- package/esm2015/togglebutton/public_api.js +1 -1
- package/esm2015/togglebutton/togglebutton.js +60 -35
- package/esm2015/toolbar/primeng-toolbar.js +1 -1
- package/esm2015/toolbar/public_api.js +1 -1
- package/esm2015/toolbar/toolbar.js +44 -26
- package/esm2015/tooltip/primeng-tooltip.js +1 -1
- package/esm2015/tooltip/public_api.js +1 -1
- package/esm2015/tooltip/tooltip.js +48 -32
- package/esm2015/tree/primeng-tree.js +1 -1
- package/esm2015/tree/public_api.js +1 -1
- package/esm2015/tree/tree.js +278 -91
- package/esm2015/treetable/primeng-treetable.js +1 -1
- package/esm2015/treetable/public_api.js +1 -1
- package/esm2015/treetable/treetable.js +650 -374
- package/esm2015/tristatecheckbox/primeng-tristatecheckbox.js +1 -1
- package/esm2015/tristatecheckbox/public_api.js +1 -1
- package/esm2015/tristatecheckbox/tristatecheckbox.js +64 -35
- package/esm2015/utils/objectutils.js +1 -1
- package/esm2015/utils/primeng-utils.js +1 -1
- package/esm2015/utils/public_api.js +1 -1
- package/esm2015/utils/uniquecomponentid.js +1 -1
- package/esm2015/virtualscroller/primeng-virtualscroller.js +1 -1
- package/esm2015/virtualscroller/public_api.js +1 -1
- package/esm2015/virtualscroller/virtualscroller.js +92 -42
- package/fesm2015/primeng-accordion.js +130 -67
- package/fesm2015/primeng-accordion.js.map +1 -1
- package/fesm2015/primeng-api.js +77 -53
- package/fesm2015/primeng-api.js.map +1 -1
- package/fesm2015/primeng-autocomplete.js +254 -105
- package/fesm2015/primeng-autocomplete.js.map +1 -1
- package/fesm2015/primeng-avatar.js +46 -25
- package/fesm2015/primeng-avatar.js.map +1 -1
- package/fesm2015/primeng-avatargroup.js +33 -20
- package/fesm2015/primeng-avatargroup.js.map +1 -1
- package/fesm2015/primeng-badge.js +55 -38
- package/fesm2015/primeng-badge.js.map +1 -1
- package/fesm2015/primeng-blockui.js +47 -30
- package/fesm2015/primeng-blockui.js.map +1 -1
- package/fesm2015/primeng-breadcrumb.js +83 -23
- package/fesm2015/primeng-breadcrumb.js.map +1 -1
- package/fesm2015/primeng-button.js +96 -48
- package/fesm2015/primeng-button.js.map +1 -1
- package/fesm2015/primeng-calendar.js +366 -131
- package/fesm2015/primeng-calendar.js.map +1 -1
- package/fesm2015/primeng-captcha.js +42 -32
- package/fesm2015/primeng-captcha.js.map +1 -1
- package/fesm2015/primeng-card.js +68 -29
- package/fesm2015/primeng-card.js.map +1 -1
- package/fesm2015/primeng-carousel.js +125 -47
- package/fesm2015/primeng-carousel.js.map +1 -1
- package/fesm2015/primeng-cascadeselect.js +194 -91
- package/fesm2015/primeng-cascadeselect.js.map +1 -1
- package/fesm2015/primeng-chart.js +44 -29
- package/fesm2015/primeng-chart.js.map +1 -1
- package/fesm2015/primeng-checkbox.js +78 -41
- package/fesm2015/primeng-checkbox.js.map +1 -1
- package/fesm2015/primeng-chip.js +49 -26
- package/fesm2015/primeng-chip.js.map +1 -1
- package/fesm2015/primeng-chips.js +91 -50
- package/fesm2015/primeng-chips.js.map +1 -1
- package/fesm2015/primeng-codehighlighter.js +21 -16
- package/fesm2015/primeng-codehighlighter.js.map +1 -1
- package/fesm2015/primeng-colorpicker.js +128 -66
- package/fesm2015/primeng-colorpicker.js.map +1 -1
- package/fesm2015/primeng-confirmdialog.js +150 -72
- package/fesm2015/primeng-confirmdialog.js.map +1 -1
- package/fesm2015/primeng-confirmpopup.js +87 -49
- package/fesm2015/primeng-confirmpopup.js.map +1 -1
- package/fesm2015/primeng-contextmenu.js +113 -57
- package/fesm2015/primeng-contextmenu.js.map +1 -1
- package/fesm2015/primeng-dataview.js +163 -75
- package/fesm2015/primeng-dataview.js.map +1 -1
- package/fesm2015/primeng-defer.js +26 -23
- package/fesm2015/primeng-defer.js.map +1 -1
- package/fesm2015/primeng-dialog.js +188 -82
- package/fesm2015/primeng-dialog.js.map +1 -1
- package/fesm2015/primeng-divider.js +41 -23
- package/fesm2015/primeng-divider.js.map +1 -1
- package/fesm2015/primeng-dragdrop.js +72 -48
- package/fesm2015/primeng-dragdrop.js.map +1 -1
- package/fesm2015/primeng-dropdown.js +306 -124
- package/fesm2015/primeng-dropdown.js.map +1 -1
- package/fesm2015/primeng-dynamicdialog.js +86 -55
- package/fesm2015/primeng-dynamicdialog.js.map +1 -1
- package/fesm2015/primeng-editor.js +106 -37
- package/fesm2015/primeng-editor.js.map +1 -1
- package/fesm2015/primeng-fieldset.js +97 -45
- package/fesm2015/primeng-fieldset.js.map +1 -1
- package/fesm2015/primeng-fileupload.js +178 -77
- package/fesm2015/primeng-fileupload.js.map +1 -1
- package/fesm2015/primeng-focustrap.js +29 -20
- package/fesm2015/primeng-focustrap.js.map +1 -1
- package/fesm2015/primeng-fullcalendar.js +33 -25
- package/fesm2015/primeng-fullcalendar.js.map +1 -1
- package/fesm2015/primeng-galleria.js +283 -130
- package/fesm2015/primeng-galleria.js.map +1 -1
- package/fesm2015/primeng-gmap.js +51 -37
- package/fesm2015/primeng-gmap.js.map +1 -1
- package/fesm2015/primeng-inplace.js +79 -44
- package/fesm2015/primeng-inplace.js.map +1 -1
- package/fesm2015/primeng-inputmask.js +91 -55
- package/fesm2015/primeng-inputmask.js.map +1 -1
- package/fesm2015/primeng-inputnumber.js +136 -69
- package/fesm2015/primeng-inputnumber.js.map +1 -1
- package/fesm2015/primeng-inputswitch.js +54 -32
- package/fesm2015/primeng-inputswitch.js.map +1 -1
- package/fesm2015/primeng-inputtext.js +32 -26
- package/fesm2015/primeng-inputtext.js.map +1 -1
- package/fesm2015/primeng-inputtextarea.js +46 -34
- package/fesm2015/primeng-inputtextarea.js.map +1 -1
- package/fesm2015/primeng-keyfilter.js +38 -25
- package/fesm2015/primeng-keyfilter.js.map +1 -1
- package/fesm2015/primeng-knob.js +70 -41
- package/fesm2015/primeng-knob.js.map +1 -1
- package/fesm2015/primeng-lightbox.js +77 -34
- package/fesm2015/primeng-lightbox.js.map +1 -1
- package/fesm2015/primeng-listbox.js +166 -60
- package/fesm2015/primeng-listbox.js.map +1 -1
- package/fesm2015/primeng-megamenu.js +117 -31
- package/fesm2015/primeng-megamenu.js.map +1 -1
- package/fesm2015/primeng-menu.js +126 -59
- package/fesm2015/primeng-menu.js.map +1 -1
- package/fesm2015/primeng-menubar.js +120 -55
- package/fesm2015/primeng-menubar.js.map +1 -1
- package/fesm2015/primeng-message.js +50 -23
- package/fesm2015/primeng-message.js.map +1 -1
- package/fesm2015/primeng-messages.js +108 -47
- package/fesm2015/primeng-messages.js.map +1 -1
- package/fesm2015/primeng-multiselect.js +331 -124
- package/fesm2015/primeng-multiselect.js.map +1 -1
- package/fesm2015/primeng-orderlist.js +118 -48
- package/fesm2015/primeng-orderlist.js.map +1 -1
- package/fesm2015/primeng-organizationchart.js +138 -63
- package/fesm2015/primeng-organizationchart.js.map +1 -1
- package/fesm2015/primeng-overlaypanel.js +101 -56
- package/fesm2015/primeng-overlaypanel.js.map +1 -1
- package/fesm2015/primeng-paginator.js +111 -41
- package/fesm2015/primeng-paginator.js.map +1 -1
- package/fesm2015/primeng-panel.js +119 -54
- package/fesm2015/primeng-panel.js.map +1 -1
- package/fesm2015/primeng-panelmenu.js +160 -69
- package/fesm2015/primeng-panelmenu.js.map +1 -1
- package/fesm2015/primeng-password.js +155 -87
- package/fesm2015/primeng-password.js.map +1 -1
- package/fesm2015/primeng-picklist.js +214 -79
- package/fesm2015/primeng-picklist.js.map +1 -1
- package/fesm2015/primeng-progressbar.js +46 -24
- package/fesm2015/primeng-progressbar.js.map +1 -1
- package/fesm2015/primeng-progressspinner.js +41 -23
- package/fesm2015/primeng-progressspinner.js.map +1 -1
- package/fesm2015/primeng-radiobutton.js +79 -45
- package/fesm2015/primeng-radiobutton.js.map +1 -1
- package/fesm2015/primeng-rating.js +58 -35
- package/fesm2015/primeng-rating.js.map +1 -1
- package/fesm2015/primeng-ripple.js +27 -22
- package/fesm2015/primeng-ripple.js.map +1 -1
- package/fesm2015/primeng-scrollpanel.js +56 -31
- package/fesm2015/primeng-scrollpanel.js.map +1 -1
- package/fesm2015/primeng-scrolltop.js +70 -43
- package/fesm2015/primeng-scrolltop.js.map +1 -1
- package/fesm2015/primeng-selectbutton.js +74 -37
- package/fesm2015/primeng-selectbutton.js.map +1 -1
- package/fesm2015/primeng-sidebar.js +102 -55
- package/fesm2015/primeng-sidebar.js.map +1 -1
- package/fesm2015/primeng-skeleton.js +44 -26
- package/fesm2015/primeng-skeleton.js.map +1 -1
- package/fesm2015/primeng-slidemenu.js +157 -72
- package/fesm2015/primeng-slidemenu.js.map +1 -1
- package/fesm2015/primeng-slider.js +80 -42
- package/fesm2015/primeng-slider.js.map +1 -1
- package/fesm2015/primeng-spinner.js +93 -51
- package/fesm2015/primeng-spinner.js.map +1 -1
- package/fesm2015/primeng-splitbutton.js +75 -37
- package/fesm2015/primeng-splitbutton.js.map +1 -1
- package/fesm2015/primeng-splitter.js +80 -46
- package/fesm2015/primeng-splitter.js.map +1 -1
- package/fesm2015/primeng-steps.js +68 -34
- package/fesm2015/primeng-steps.js.map +1 -1
- package/fesm2015/primeng-styleclass.js +40 -28
- package/fesm2015/primeng-styleclass.js.map +1 -1
- package/fesm2015/primeng-table.js +1080 -583
- package/fesm2015/primeng-table.js.map +1 -1
- package/fesm2015/primeng-tabmenu.js +75 -26
- package/fesm2015/primeng-tabmenu.js.map +1 -1
- package/fesm2015/primeng-tabview.js +126 -61
- package/fesm2015/primeng-tabview.js.map +1 -1
- package/fesm2015/primeng-tag.js +43 -24
- package/fesm2015/primeng-tag.js.map +1 -1
- package/fesm2015/primeng-terminal.js +57 -32
- package/fesm2015/primeng-terminal.js.map +1 -1
- package/fesm2015/primeng-tieredmenu.js +132 -68
- package/fesm2015/primeng-tieredmenu.js.map +1 -1
- package/fesm2015/primeng-timeline.js +66 -28
- package/fesm2015/primeng-timeline.js.map +1 -1
- package/fesm2015/primeng-toast.js +166 -86
- package/fesm2015/primeng-toast.js.map +1 -1
- package/fesm2015/primeng-togglebutton.js +59 -34
- package/fesm2015/primeng-togglebutton.js.map +1 -1
- package/fesm2015/primeng-toolbar.js +43 -25
- package/fesm2015/primeng-toolbar.js.map +1 -1
- package/fesm2015/primeng-tooltip.js +47 -31
- package/fesm2015/primeng-tooltip.js.map +1 -1
- package/fesm2015/primeng-tree.js +277 -89
- package/fesm2015/primeng-tree.js.map +1 -1
- package/fesm2015/primeng-treetable.js +649 -373
- package/fesm2015/primeng-treetable.js.map +1 -1
- package/fesm2015/primeng-tristatecheckbox.js +63 -34
- package/fesm2015/primeng-tristatecheckbox.js.map +1 -1
- package/fesm2015/primeng-virtualscroller.js +91 -41
- package/fesm2015/primeng-virtualscroller.js.map +1 -1
- package/fieldset/fieldset.d.ts +9 -0
- package/fieldset/package.json +1 -2
- package/fieldset/primeng-fieldset.d.ts +1 -0
- package/fileupload/fileupload.d.ts +12 -0
- package/fileupload/package.json +1 -2
- package/fileupload/primeng-fileupload.d.ts +1 -0
- package/focustrap/focustrap.d.ts +7 -0
- package/focustrap/package.json +1 -2
- package/focustrap/primeng-focustrap.d.ts +1 -0
- package/fullcalendar/fullcalendar.d.ts +7 -0
- package/fullcalendar/package.json +1 -2
- package/fullcalendar/primeng-fullcalendar.d.ts +1 -0
- package/galleria/galleria.d.ts +17 -0
- package/galleria/package.json +1 -2
- package/galleria/primeng-galleria.d.ts +1 -0
- package/gmap/gmap.d.ts +7 -0
- package/gmap/package.json +1 -2
- package/gmap/primeng-gmap.d.ts +1 -0
- package/inplace/inplace.d.ts +12 -0
- package/inplace/package.json +1 -2
- package/inplace/primeng-inplace.d.ts +1 -0
- package/inputmask/inputmask.d.ts +8 -0
- package/inputmask/package.json +1 -2
- package/inputmask/primeng-inputmask.d.ts +1 -0
- package/inputnumber/inputnumber.d.ts +9 -0
- package/inputnumber/package.json +1 -2
- package/inputnumber/primeng-inputnumber.d.ts +1 -0
- package/inputswitch/inputswitch.d.ts +7 -0
- package/inputswitch/package.json +1 -2
- package/inputswitch/primeng-inputswitch.d.ts +1 -0
- package/inputtext/inputtext.d.ts +7 -0
- package/inputtext/package.json +1 -2
- package/inputtext/primeng-inputtext.d.ts +1 -0
- package/inputtextarea/inputtextarea.d.ts +7 -0
- package/inputtextarea/package.json +1 -2
- package/inputtextarea/primeng-inputtextarea.d.ts +1 -0
- package/keyfilter/keyfilter.d.ts +7 -0
- package/keyfilter/package.json +1 -2
- package/keyfilter/primeng-keyfilter.d.ts +1 -0
- package/knob/knob.d.ts +7 -0
- package/knob/package.json +1 -2
- package/knob/primeng-knob.d.ts +1 -0
- package/lightbox/lightbox.d.ts +7 -0
- package/lightbox/package.json +1 -2
- package/lightbox/primeng-lightbox.d.ts +1 -0
- package/listbox/listbox.d.ts +9 -0
- package/listbox/package.json +1 -2
- package/listbox/primeng-listbox.d.ts +1 -0
- package/megamenu/megamenu.d.ts +9 -0
- package/megamenu/package.json +1 -2
- package/megamenu/primeng-megamenu.d.ts +1 -0
- package/menu/menu.d.ts +11 -0
- package/menu/package.json +1 -2
- package/menu/primeng-menu.d.ts +1 -0
- package/menubar/menubar.d.ts +11 -0
- package/menubar/package.json +1 -2
- package/menubar/primeng-menubar.d.ts +1 -0
- package/message/message.d.ts +7 -0
- package/message/package.json +1 -2
- package/message/primeng-message.d.ts +1 -0
- package/messages/messages.d.ts +8 -0
- package/messages/package.json +1 -2
- package/messages/primeng-messages.d.ts +1 -0
- package/multiselect/multiselect.d.ts +13 -0
- package/multiselect/package.json +1 -2
- package/multiselect/primeng-multiselect.d.ts +1 -0
- package/orderlist/orderlist.d.ts +11 -0
- package/orderlist/package.json +1 -2
- package/orderlist/primeng-orderlist.d.ts +1 -0
- package/organizationchart/organizationchart.d.ts +10 -0
- package/organizationchart/package.json +1 -2
- package/organizationchart/primeng-organizationchart.d.ts +1 -0
- package/overlaypanel/overlaypanel.d.ts +9 -0
- package/overlaypanel/package.json +1 -2
- package/overlaypanel/primeng-overlaypanel.d.ts +1 -0
- package/package.json +6 -7
- package/paginator/package.json +1 -2
- package/paginator/paginator.d.ts +11 -0
- package/paginator/primeng-paginator.d.ts +1 -0
- package/panel/package.json +1 -2
- package/panel/panel.d.ts +9 -0
- package/panel/primeng-panel.d.ts +1 -0
- package/panelmenu/package.json +1 -2
- package/panelmenu/panelmenu.d.ts +10 -0
- package/panelmenu/primeng-panelmenu.d.ts +1 -0
- package/password/package.json +1 -2
- package/password/password.d.ts +11 -0
- package/password/primeng-password.d.ts +1 -0
- package/picklist/package.json +1 -2
- package/picklist/picklist.d.ts +11 -0
- package/picklist/primeng-picklist.d.ts +1 -0
- package/primeng.d.ts +1 -0
- package/progressbar/package.json +1 -2
- package/progressbar/primeng-progressbar.d.ts +1 -0
- package/progressbar/progressbar.d.ts +7 -0
- package/progressspinner/package.json +1 -2
- package/progressspinner/primeng-progressspinner.d.ts +1 -0
- package/progressspinner/progressspinner.d.ts +7 -0
- package/radiobutton/package.json +1 -2
- package/radiobutton/primeng-radiobutton.d.ts +1 -0
- package/radiobutton/radiobutton.d.ts +9 -0
- package/rating/package.json +1 -2
- package/rating/primeng-rating.d.ts +1 -0
- package/rating/rating.d.ts +7 -0
- package/resources/components/breadcrumb/breadcrumb.css +2 -1
- package/resources/components/fileupload/fileupload.css +5 -1
- package/resources/components/tabmenu/tabmenu.css +1 -1
- package/ripple/package.json +1 -2
- package/ripple/primeng-ripple.d.ts +1 -0
- package/ripple/ripple.d.ts +7 -0
- package/scrollpanel/package.json +1 -2
- package/scrollpanel/primeng-scrollpanel.d.ts +1 -0
- package/scrollpanel/scrollpanel.d.ts +7 -0
- package/scrolltop/package.json +1 -2
- package/scrolltop/primeng-scrolltop.d.ts +1 -0
- package/scrolltop/scrolltop.d.ts +7 -0
- package/selectbutton/package.json +1 -2
- package/selectbutton/primeng-selectbutton.d.ts +1 -0
- package/selectbutton/selectbutton.d.ts +8 -0
- package/sidebar/package.json +1 -2
- package/sidebar/primeng-sidebar.d.ts +1 -0
- package/sidebar/sidebar.d.ts +8 -0
- package/skeleton/package.json +1 -2
- package/skeleton/primeng-skeleton.d.ts +1 -0
- package/skeleton/skeleton.d.ts +7 -0
- package/slidemenu/package.json +1 -2
- package/slidemenu/primeng-slidemenu.d.ts +1 -0
- package/slidemenu/slidemenu.d.ts +10 -0
- package/slider/package.json +1 -2
- package/slider/primeng-slider.d.ts +1 -0
- package/slider/slider.d.ts +7 -0
- package/spinner/package.json +1 -2
- package/spinner/primeng-spinner.d.ts +1 -0
- package/spinner/spinner.d.ts +8 -0
- package/splitbutton/package.json +1 -2
- package/splitbutton/primeng-splitbutton.d.ts +1 -0
- package/splitbutton/splitbutton.d.ts +9 -0
- package/splitter/package.json +1 -2
- package/splitter/primeng-splitter.d.ts +1 -0
- package/splitter/splitter.d.ts +10 -1
- package/steps/package.json +1 -2
- package/steps/primeng-steps.d.ts +1 -0
- package/steps/steps.d.ts +8 -0
- package/styleclass/package.json +1 -2
- package/styleclass/primeng-styleclass.d.ts +1 -0
- package/styleclass/styleclass.d.ts +7 -0
- package/table/package.json +1 -2
- package/table/primeng-table.d.ts +1 -0
- package/table/table.d.ts +66 -0
- package/tabmenu/package.json +1 -2
- package/tabmenu/primeng-tabmenu.d.ts +1 -0
- package/tabmenu/tabmenu.d.ts +10 -0
- package/tabview/package.json +1 -2
- package/tabview/primeng-tabview.d.ts +1 -0
- package/tabview/tabview.d.ts +12 -0
- package/tag/package.json +1 -2
- package/tag/primeng-tag.d.ts +1 -0
- package/tag/tag.d.ts +7 -0
- package/terminal/package.json +1 -2
- package/terminal/primeng-terminal.d.ts +1 -0
- package/terminal/terminal.d.ts +8 -0
- package/terminal/terminalservice.d.ts +3 -0
- package/tieredmenu/package.json +1 -2
- package/tieredmenu/primeng-tieredmenu.d.ts +1 -0
- package/tieredmenu/tieredmenu.d.ts +11 -0
- package/timeline/package.json +1 -2
- package/timeline/primeng-timeline.d.ts +1 -0
- package/timeline/timeline.d.ts +8 -0
- package/toast/package.json +1 -2
- package/toast/primeng-toast.d.ts +1 -0
- package/toast/toast.d.ts +11 -0
- package/togglebutton/package.json +1 -2
- package/togglebutton/primeng-togglebutton.d.ts +1 -0
- package/togglebutton/togglebutton.d.ts +8 -0
- package/toolbar/package.json +1 -2
- package/toolbar/primeng-toolbar.d.ts +1 -0
- package/toolbar/toolbar.d.ts +7 -0
- package/tooltip/package.json +1 -2
- package/tooltip/primeng-tooltip.d.ts +1 -0
- package/tooltip/tooltip.d.ts +7 -0
- package/tree/package.json +1 -2
- package/tree/primeng-tree.d.ts +1 -0
- package/tree/tree.d.ts +12 -0
- package/treetable/package.json +1 -2
- package/treetable/primeng-treetable.d.ts +1 -0
- package/treetable/treetable.d.ts +43 -0
- package/tristatecheckbox/package.json +1 -2
- package/tristatecheckbox/primeng-tristatecheckbox.d.ts +1 -0
- package/tristatecheckbox/tristatecheckbox.d.ts +7 -0
- package/utils/package.json +1 -2
- package/utils/primeng-utils.d.ts +1 -0
- package/virtualscroller/package.json +1 -2
- package/virtualscroller/primeng-virtualscroller.d.ts +1 -0
- package/virtualscroller/virtualscroller.d.ts +9 -0
- package/accordion/primeng-accordion.metadata.json +0 -1
- package/api/primeng-api.metadata.json +0 -1
- package/autocomplete/primeng-autocomplete.metadata.json +0 -1
- package/avatar/primeng-avatar.metadata.json +0 -1
- package/avatargroup/primeng-avatargroup.metadata.json +0 -1
- package/badge/primeng-badge.metadata.json +0 -1
- package/blockui/primeng-blockui.metadata.json +0 -1
- package/breadcrumb/primeng-breadcrumb.metadata.json +0 -1
- package/bundles/primeng-accordion.umd.min.js +0 -2
- package/bundles/primeng-accordion.umd.min.js.map +0 -1
- package/bundles/primeng-api.umd.min.js +0 -2
- package/bundles/primeng-api.umd.min.js.map +0 -1
- package/bundles/primeng-autocomplete.umd.min.js +0 -16
- package/bundles/primeng-autocomplete.umd.min.js.map +0 -1
- package/bundles/primeng-avatar.umd.min.js +0 -2
- package/bundles/primeng-avatar.umd.min.js.map +0 -1
- package/bundles/primeng-avatargroup.umd.min.js +0 -2
- package/bundles/primeng-avatargroup.umd.min.js.map +0 -1
- package/bundles/primeng-badge.umd.min.js +0 -2
- package/bundles/primeng-badge.umd.min.js.map +0 -1
- package/bundles/primeng-blockui.umd.min.js +0 -2
- package/bundles/primeng-blockui.umd.min.js.map +0 -1
- package/bundles/primeng-breadcrumb.umd.min.js +0 -2
- package/bundles/primeng-breadcrumb.umd.min.js.map +0 -1
- package/bundles/primeng-button.umd.min.js +0 -2
- package/bundles/primeng-button.umd.min.js.map +0 -1
- package/bundles/primeng-calendar.umd.min.js +0 -16
- package/bundles/primeng-calendar.umd.min.js.map +0 -1
- package/bundles/primeng-captcha.umd.min.js +0 -2
- package/bundles/primeng-captcha.umd.min.js.map +0 -1
- package/bundles/primeng-card.umd.min.js +0 -2
- package/bundles/primeng-card.umd.min.js.map +0 -1
- package/bundles/primeng-carousel.umd.min.js +0 -16
- package/bundles/primeng-carousel.umd.min.js.map +0 -1
- package/bundles/primeng-cascadeselect.umd.min.js +0 -16
- package/bundles/primeng-cascadeselect.umd.min.js.map +0 -1
- package/bundles/primeng-chart.umd.min.js +0 -2
- package/bundles/primeng-chart.umd.min.js.map +0 -1
- package/bundles/primeng-checkbox.umd.min.js +0 -16
- package/bundles/primeng-checkbox.umd.min.js.map +0 -1
- package/bundles/primeng-chip.umd.min.js +0 -2
- package/bundles/primeng-chip.umd.min.js.map +0 -1
- package/bundles/primeng-chips.umd.min.js +0 -16
- package/bundles/primeng-chips.umd.min.js.map +0 -1
- package/bundles/primeng-codehighlighter.umd.min.js +0 -2
- package/bundles/primeng-codehighlighter.umd.min.js.map +0 -1
- package/bundles/primeng-colorpicker.umd.min.js +0 -2
- package/bundles/primeng-colorpicker.umd.min.js.map +0 -1
- package/bundles/primeng-confirmdialog.umd.min.js +0 -2
- package/bundles/primeng-confirmdialog.umd.min.js.map +0 -1
- package/bundles/primeng-confirmpopup.umd.min.js +0 -2
- package/bundles/primeng-confirmpopup.umd.min.js.map +0 -1
- package/bundles/primeng-contextmenu.umd.min.js +0 -16
- package/bundles/primeng-contextmenu.umd.min.js.map +0 -1
- package/bundles/primeng-dataview.umd.min.js +0 -2
- package/bundles/primeng-dataview.umd.min.js.map +0 -1
- package/bundles/primeng-defer.umd.min.js +0 -2
- package/bundles/primeng-defer.umd.min.js.map +0 -1
- package/bundles/primeng-dialog.umd.min.js +0 -2
- package/bundles/primeng-dialog.umd.min.js.map +0 -1
- package/bundles/primeng-divider.umd.min.js +0 -2
- package/bundles/primeng-divider.umd.min.js.map +0 -1
- package/bundles/primeng-dom.umd.min.js +0 -16
- package/bundles/primeng-dom.umd.min.js.map +0 -1
- package/bundles/primeng-dragdrop.umd.min.js +0 -2
- package/bundles/primeng-dragdrop.umd.min.js.map +0 -1
- package/bundles/primeng-dropdown.umd.min.js +0 -16
- package/bundles/primeng-dropdown.umd.min.js.map +0 -1
- package/bundles/primeng-dynamicdialog.umd.min.js +0 -2
- package/bundles/primeng-dynamicdialog.umd.min.js.map +0 -1
- package/bundles/primeng-editor.umd.min.js +0 -2
- package/bundles/primeng-editor.umd.min.js.map +0 -1
- package/bundles/primeng-fieldset.umd.min.js +0 -2
- package/bundles/primeng-fieldset.umd.min.js.map +0 -1
- package/bundles/primeng-fileupload.umd.min.js +0 -16
- package/bundles/primeng-fileupload.umd.min.js.map +0 -1
- package/bundles/primeng-focustrap.umd.min.js +0 -2
- package/bundles/primeng-focustrap.umd.min.js.map +0 -1
- package/bundles/primeng-fullcalendar.umd.min.js +0 -2
- package/bundles/primeng-fullcalendar.umd.min.js.map +0 -1
- package/bundles/primeng-galleria.umd.min.js +0 -16
- package/bundles/primeng-galleria.umd.min.js.map +0 -1
- package/bundles/primeng-gmap.umd.min.js +0 -16
- package/bundles/primeng-gmap.umd.min.js.map +0 -1
- package/bundles/primeng-inplace.umd.min.js +0 -2
- package/bundles/primeng-inplace.umd.min.js.map +0 -1
- package/bundles/primeng-inputmask.umd.min.js +0 -2
- package/bundles/primeng-inputmask.umd.min.js.map +0 -1
- package/bundles/primeng-inputnumber.umd.min.js +0 -16
- package/bundles/primeng-inputnumber.umd.min.js.map +0 -1
- package/bundles/primeng-inputswitch.umd.min.js +0 -2
- package/bundles/primeng-inputswitch.umd.min.js.map +0 -1
- package/bundles/primeng-inputtext.umd.min.js +0 -2
- package/bundles/primeng-inputtext.umd.min.js.map +0 -1
- package/bundles/primeng-inputtextarea.umd.min.js +0 -2
- package/bundles/primeng-inputtextarea.umd.min.js.map +0 -1
- package/bundles/primeng-keyfilter.umd.min.js +0 -16
- package/bundles/primeng-keyfilter.umd.min.js.map +0 -1
- package/bundles/primeng-knob.umd.min.js +0 -2
- package/bundles/primeng-knob.umd.min.js.map +0 -1
- package/bundles/primeng-lightbox.umd.min.js +0 -2
- package/bundles/primeng-lightbox.umd.min.js.map +0 -1
- package/bundles/primeng-listbox.umd.min.js +0 -16
- package/bundles/primeng-listbox.umd.min.js.map +0 -1
- package/bundles/primeng-megamenu.umd.min.js +0 -2
- package/bundles/primeng-megamenu.umd.min.js.map +0 -1
- package/bundles/primeng-menu.umd.min.js +0 -16
- package/bundles/primeng-menu.umd.min.js.map +0 -1
- package/bundles/primeng-menubar.umd.min.js +0 -2
- package/bundles/primeng-menubar.umd.min.js.map +0 -1
- package/bundles/primeng-message.umd.min.js +0 -2
- package/bundles/primeng-message.umd.min.js.map +0 -1
- package/bundles/primeng-messages.umd.min.js +0 -16
- package/bundles/primeng-messages.umd.min.js.map +0 -1
- package/bundles/primeng-multiselect.umd.min.js +0 -16
- package/bundles/primeng-multiselect.umd.min.js.map +0 -1
- package/bundles/primeng-orderlist.umd.min.js +0 -16
- package/bundles/primeng-orderlist.umd.min.js.map +0 -1
- package/bundles/primeng-organizationchart.umd.min.js +0 -16
- package/bundles/primeng-organizationchart.umd.min.js.map +0 -1
- package/bundles/primeng-overlaypanel.umd.min.js +0 -2
- package/bundles/primeng-overlaypanel.umd.min.js.map +0 -1
- package/bundles/primeng-paginator.umd.min.js +0 -16
- package/bundles/primeng-paginator.umd.min.js.map +0 -1
- package/bundles/primeng-panel.umd.min.js +0 -2
- package/bundles/primeng-panel.umd.min.js.map +0 -1
- package/bundles/primeng-panelmenu.umd.min.js +0 -16
- package/bundles/primeng-panelmenu.umd.min.js.map +0 -1
- package/bundles/primeng-password.umd.min.js +0 -2
- package/bundles/primeng-password.umd.min.js.map +0 -1
- package/bundles/primeng-picklist.umd.min.js +0 -2
- package/bundles/primeng-picklist.umd.min.js.map +0 -1
- package/bundles/primeng-progressbar.umd.min.js +0 -2
- package/bundles/primeng-progressbar.umd.min.js.map +0 -1
- package/bundles/primeng-progressspinner.umd.min.js +0 -2
- package/bundles/primeng-progressspinner.umd.min.js.map +0 -1
- package/bundles/primeng-radiobutton.umd.min.js +0 -2
- package/bundles/primeng-radiobutton.umd.min.js.map +0 -1
- package/bundles/primeng-rating.umd.min.js +0 -2
- package/bundles/primeng-rating.umd.min.js.map +0 -1
- package/bundles/primeng-ripple.umd.min.js +0 -2
- package/bundles/primeng-ripple.umd.min.js.map +0 -1
- package/bundles/primeng-scrollpanel.umd.min.js +0 -2
- package/bundles/primeng-scrollpanel.umd.min.js.map +0 -1
- package/bundles/primeng-scrolltop.umd.min.js +0 -2
- package/bundles/primeng-scrolltop.umd.min.js.map +0 -1
- package/bundles/primeng-selectbutton.umd.min.js +0 -16
- package/bundles/primeng-selectbutton.umd.min.js.map +0 -1
- package/bundles/primeng-sidebar.umd.min.js +0 -2
- package/bundles/primeng-sidebar.umd.min.js.map +0 -1
- package/bundles/primeng-skeleton.umd.min.js +0 -2
- package/bundles/primeng-skeleton.umd.min.js.map +0 -1
- package/bundles/primeng-slidemenu.umd.min.js +0 -2
- package/bundles/primeng-slidemenu.umd.min.js.map +0 -1
- package/bundles/primeng-slider.umd.min.js +0 -2
- package/bundles/primeng-slider.umd.min.js.map +0 -1
- package/bundles/primeng-spinner.umd.min.js +0 -2
- package/bundles/primeng-spinner.umd.min.js.map +0 -1
- package/bundles/primeng-splitbutton.umd.min.js +0 -2
- package/bundles/primeng-splitbutton.umd.min.js.map +0 -1
- package/bundles/primeng-splitter.umd.min.js +0 -16
- package/bundles/primeng-splitter.umd.min.js.map +0 -1
- package/bundles/primeng-steps.umd.min.js +0 -2
- package/bundles/primeng-steps.umd.min.js.map +0 -1
- package/bundles/primeng-styleclass.umd.min.js +0 -2
- package/bundles/primeng-styleclass.umd.min.js.map +0 -1
- package/bundles/primeng-table.umd.min.js +0 -16
- package/bundles/primeng-table.umd.min.js.map +0 -1
- package/bundles/primeng-tabmenu.umd.min.js +0 -2
- package/bundles/primeng-tabmenu.umd.min.js.map +0 -1
- package/bundles/primeng-tabview.umd.min.js +0 -2
- package/bundles/primeng-tabview.umd.min.js.map +0 -1
- package/bundles/primeng-tag.umd.min.js +0 -2
- package/bundles/primeng-tag.umd.min.js.map +0 -1
- package/bundles/primeng-terminal.umd.min.js +0 -2
- package/bundles/primeng-terminal.umd.min.js.map +0 -1
- package/bundles/primeng-tieredmenu.umd.min.js +0 -2
- package/bundles/primeng-tieredmenu.umd.min.js.map +0 -1
- package/bundles/primeng-timeline.umd.min.js +0 -2
- package/bundles/primeng-timeline.umd.min.js.map +0 -1
- package/bundles/primeng-toast.umd.min.js +0 -16
- package/bundles/primeng-toast.umd.min.js.map +0 -1
- package/bundles/primeng-togglebutton.umd.min.js +0 -2
- package/bundles/primeng-togglebutton.umd.min.js.map +0 -1
- package/bundles/primeng-toolbar.umd.min.js +0 -2
- package/bundles/primeng-toolbar.umd.min.js.map +0 -1
- package/bundles/primeng-tooltip.umd.min.js +0 -2
- package/bundles/primeng-tooltip.umd.min.js.map +0 -1
- package/bundles/primeng-tree.umd.min.js +0 -16
- package/bundles/primeng-tree.umd.min.js.map +0 -1
- package/bundles/primeng-treetable.umd.min.js +0 -16
- package/bundles/primeng-treetable.umd.min.js.map +0 -1
- package/bundles/primeng-tristatecheckbox.umd.min.js +0 -2
- package/bundles/primeng-tristatecheckbox.umd.min.js.map +0 -1
- package/bundles/primeng-utils.umd.min.js +0 -2
- package/bundles/primeng-utils.umd.min.js.map +0 -1
- package/bundles/primeng-virtualscroller.umd.min.js +0 -2
- package/bundles/primeng-virtualscroller.umd.min.js.map +0 -1
- package/bundles/primeng.umd.min.js +0 -2
- package/bundles/primeng.umd.min.js.map +0 -1
- package/button/primeng-button.metadata.json +0 -1
- package/calendar/primeng-calendar.metadata.json +0 -1
- package/captcha/primeng-captcha.metadata.json +0 -1
- package/card/primeng-card.metadata.json +0 -1
- package/carousel/primeng-carousel.metadata.json +0 -1
- package/cascadeselect/primeng-cascadeselect.metadata.json +0 -1
- package/chart/primeng-chart.metadata.json +0 -1
- package/checkbox/primeng-checkbox.metadata.json +0 -1
- package/chip/primeng-chip.metadata.json +0 -1
- package/chips/primeng-chips.metadata.json +0 -1
- package/codehighlighter/primeng-codehighlighter.metadata.json +0 -1
- package/colorpicker/primeng-colorpicker.metadata.json +0 -1
- package/confirmdialog/primeng-confirmdialog.metadata.json +0 -1
- package/confirmpopup/primeng-confirmpopup.metadata.json +0 -1
- package/contextmenu/primeng-contextmenu.metadata.json +0 -1
- package/dataview/primeng-dataview.metadata.json +0 -1
- package/defer/primeng-defer.metadata.json +0 -1
- package/dialog/primeng-dialog.metadata.json +0 -1
- package/divider/primeng-divider.metadata.json +0 -1
- package/dom/primeng-dom.metadata.json +0 -1
- package/dragdrop/primeng-dragdrop.metadata.json +0 -1
- package/dropdown/primeng-dropdown.metadata.json +0 -1
- package/dynamicdialog/primeng-dynamicdialog.metadata.json +0 -1
- package/editor/primeng-editor.metadata.json +0 -1
- package/fieldset/primeng-fieldset.metadata.json +0 -1
- package/fileupload/primeng-fileupload.metadata.json +0 -1
- package/focustrap/primeng-focustrap.metadata.json +0 -1
- package/fullcalendar/primeng-fullcalendar.metadata.json +0 -1
- package/galleria/primeng-galleria.metadata.json +0 -1
- package/gmap/primeng-gmap.metadata.json +0 -1
- package/inplace/primeng-inplace.metadata.json +0 -1
- package/inputmask/primeng-inputmask.metadata.json +0 -1
- package/inputnumber/primeng-inputnumber.metadata.json +0 -1
- package/inputswitch/primeng-inputswitch.metadata.json +0 -1
- package/inputtext/primeng-inputtext.metadata.json +0 -1
- package/inputtextarea/primeng-inputtextarea.metadata.json +0 -1
- package/keyfilter/primeng-keyfilter.metadata.json +0 -1
- package/knob/primeng-knob.metadata.json +0 -1
- package/lightbox/primeng-lightbox.metadata.json +0 -1
- package/listbox/primeng-listbox.metadata.json +0 -1
- package/megamenu/primeng-megamenu.metadata.json +0 -1
- package/menu/primeng-menu.metadata.json +0 -1
- package/menubar/primeng-menubar.metadata.json +0 -1
- package/message/primeng-message.metadata.json +0 -1
- package/messages/primeng-messages.metadata.json +0 -1
- package/multiselect/primeng-multiselect.metadata.json +0 -1
- package/orderlist/primeng-orderlist.metadata.json +0 -1
- package/organizationchart/primeng-organizationchart.metadata.json +0 -1
- package/overlaypanel/primeng-overlaypanel.metadata.json +0 -1
- package/paginator/primeng-paginator.metadata.json +0 -1
- package/panel/primeng-panel.metadata.json +0 -1
- package/panelmenu/primeng-panelmenu.metadata.json +0 -1
- package/password/primeng-password.metadata.json +0 -1
- package/picklist/primeng-picklist.metadata.json +0 -1
- package/primeng.metadata.json +0 -1
- package/progressbar/primeng-progressbar.metadata.json +0 -1
- package/progressspinner/primeng-progressspinner.metadata.json +0 -1
- package/radiobutton/primeng-radiobutton.metadata.json +0 -1
- package/rating/primeng-rating.metadata.json +0 -1
- package/ripple/primeng-ripple.metadata.json +0 -1
- package/scrollpanel/primeng-scrollpanel.metadata.json +0 -1
- package/scrolltop/primeng-scrolltop.metadata.json +0 -1
- package/selectbutton/primeng-selectbutton.metadata.json +0 -1
- package/sidebar/primeng-sidebar.metadata.json +0 -1
- package/skeleton/primeng-skeleton.metadata.json +0 -1
- package/slidemenu/primeng-slidemenu.metadata.json +0 -1
- package/slider/primeng-slider.metadata.json +0 -1
- package/spinner/primeng-spinner.metadata.json +0 -1
- package/splitbutton/primeng-splitbutton.metadata.json +0 -1
- package/splitter/primeng-splitter.metadata.json +0 -1
- package/steps/primeng-steps.metadata.json +0 -1
- package/styleclass/primeng-styleclass.metadata.json +0 -1
- package/table/primeng-table.metadata.json +0 -1
- package/tabmenu/primeng-tabmenu.metadata.json +0 -1
- package/tabview/primeng-tabview.metadata.json +0 -1
- package/tag/primeng-tag.metadata.json +0 -1
- package/terminal/primeng-terminal.metadata.json +0 -1
- package/tieredmenu/primeng-tieredmenu.metadata.json +0 -1
- package/timeline/primeng-timeline.metadata.json +0 -1
- package/toast/primeng-toast.metadata.json +0 -1
- package/togglebutton/primeng-togglebutton.metadata.json +0 -1
- package/toolbar/primeng-toolbar.metadata.json +0 -1
- package/tooltip/primeng-tooltip.metadata.json +0 -1
- package/tree/primeng-tree.metadata.json +0 -1
- package/treetable/primeng-treetable.metadata.json +0 -1
- package/tristatecheckbox/primeng-tristatecheckbox.metadata.json +0 -1
- package/utils/primeng-utils.metadata.json +0 -1
- package/virtualscroller/primeng-virtualscroller.metadata.json +0 -1
@@ -1,10 +1,14 @@
|
|
1
|
-
import { NgModule, Directive,
|
1
|
+
import { NgModule, Directive, HostListener, Input, ViewEncapsulation, ChangeDetectionStrategy, ContentChildren, Component, ViewChild, forwardRef } from '@angular/core';
|
2
2
|
import { CommonModule } from '@angular/common';
|
3
3
|
import { animate, style, transition, trigger } from '@angular/animations';
|
4
4
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
5
5
|
import { DomHandler, ConnectedOverlayScrollHandler } from 'primeng/dom';
|
6
|
-
import {
|
6
|
+
import { PrimeTemplate, SharedModule, TranslationKeys } from 'primeng/api';
|
7
7
|
import { InputTextModule } from 'primeng/inputtext';
|
8
|
+
import * as i0 from "@angular/core";
|
9
|
+
import * as i1 from "primeng/api";
|
10
|
+
import * as i2 from "@angular/common";
|
11
|
+
import * as i3 from "primeng/inputtext";
|
8
12
|
export class PasswordDirective {
|
9
13
|
constructor(el, zone) {
|
10
14
|
this.el = el;
|
@@ -171,32 +175,43 @@ export class PasswordDirective {
|
|
171
175
|
}
|
172
176
|
}
|
173
177
|
}
|
174
|
-
PasswordDirective
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
'[
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
]
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
178
|
+
PasswordDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PasswordDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
179
|
+
PasswordDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.0.5", type: PasswordDirective, selector: "[pPassword]", inputs: { promptLabel: "promptLabel", weakLabel: "weakLabel", mediumLabel: "mediumLabel", strongLabel: "strongLabel", feedback: "feedback", showPassword: "showPassword" }, host: { listeners: { "input": "onInput($event)", "focus": "onFocus()", "blur": "onBlur()", "keyup": "onKeyup($event)" }, properties: { "class.p-inputtext": "true", "class.p-component": "true", "class.p-filled": "filled" } }, ngImport: i0 });
|
180
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PasswordDirective, decorators: [{
|
181
|
+
type: Directive,
|
182
|
+
args: [{
|
183
|
+
selector: '[pPassword]',
|
184
|
+
host: {
|
185
|
+
'[class.p-inputtext]': 'true',
|
186
|
+
'[class.p-component]': 'true',
|
187
|
+
'[class.p-filled]': 'filled'
|
188
|
+
}
|
189
|
+
}]
|
190
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { promptLabel: [{
|
191
|
+
type: Input
|
192
|
+
}], weakLabel: [{
|
193
|
+
type: Input
|
194
|
+
}], mediumLabel: [{
|
195
|
+
type: Input
|
196
|
+
}], strongLabel: [{
|
197
|
+
type: Input
|
198
|
+
}], feedback: [{
|
199
|
+
type: Input
|
200
|
+
}], showPassword: [{
|
201
|
+
type: Input
|
202
|
+
}], onInput: [{
|
203
|
+
type: HostListener,
|
204
|
+
args: ['input', ['$event']]
|
205
|
+
}], onFocus: [{
|
206
|
+
type: HostListener,
|
207
|
+
args: ['focus']
|
208
|
+
}], onBlur: [{
|
209
|
+
type: HostListener,
|
210
|
+
args: ['blur']
|
211
|
+
}], onKeyup: [{
|
212
|
+
type: HostListener,
|
213
|
+
args: ['keyup', ['$event']]
|
214
|
+
}] } });
|
200
215
|
export const Password_VALUE_ACCESSOR = {
|
201
216
|
provide: NG_VALUE_ACCESSOR,
|
202
217
|
useExisting: forwardRef(() => Password),
|
@@ -456,15 +471,48 @@ export class Password {
|
|
456
471
|
}
|
457
472
|
}
|
458
473
|
}
|
459
|
-
Password
|
460
|
-
|
461
|
-
|
462
|
-
|
474
|
+
Password.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: Password, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.PrimeNGConfig }], target: i0.ɵɵFactoryTarget.Component });
|
475
|
+
Password.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: Password, selector: "p-password", inputs: { disabled: "disabled", promptLabel: "promptLabel", mediumRegex: "mediumRegex", strongRegex: "strongRegex", weakLabel: "weakLabel", mediumLabel: "mediumLabel", strongLabel: "strongLabel", inputId: "inputId", feedback: "feedback", appendTo: "appendTo", toggleMask: "toggleMask", inputStyleClass: "inputStyleClass", styleClass: "styleClass", style: "style", inputStyle: "inputStyle", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions", placeholder: "placeholder" }, host: { properties: { "class.p-inputwrapper-filled": "filled()", "class.p-inputwrapper-focus": "focused" } }, providers: [Password_VALUE_ACCESSOR], queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: `
|
476
|
+
<div [ngClass]="containerClass()" [ngStyle]="style" [class]="styleClass">
|
477
|
+
<input #input [attr.id]="inputId" pInputText [ngClass]="inputFieldClass()" [ngStyle]="inputStyle" [class]="inputStyleClass" [attr.type]="inputType()" [attr.placeholder]="placeholder" [value]="value" (input)="onInput($event)" (focus)="onFocus()"
|
478
|
+
(blur)="onBlur()" (keyup)="onKeyUp($event)" />
|
479
|
+
<i *ngIf="toggleMask" [ngClass]="toggleIconClass()" (click)="onMaskToggle()"></i>
|
480
|
+
<div #overlay *ngIf="overlayVisible" [ngClass]="'p-password-panel p-component'"
|
481
|
+
[@overlayAnimation]="{value: 'visible', params: {showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}" (@overlayAnimation.start)="onAnimationStart($event)">
|
482
|
+
<ng-container *ngTemplateOutlet="headerTemplate"></ng-container>
|
483
|
+
<ng-container *ngIf="contentTemplate; else content">
|
484
|
+
<ng-container *ngTemplateOutlet="contentTemplate"></ng-container>
|
485
|
+
</ng-container>
|
486
|
+
<ng-template #content>
|
487
|
+
<div class="p-password-meter">
|
488
|
+
<div [ngClass]="strengthClass()" [ngStyle]="{'width': meter ? meter.width : ''}"></div>
|
489
|
+
</div>
|
490
|
+
<div className="p-password-info">{{infoText}}</div>
|
491
|
+
</ng-template>
|
492
|
+
<ng-container *ngTemplateOutlet="footerTemplate"></ng-container>
|
493
|
+
</div>
|
494
|
+
</div>
|
495
|
+
`, isInline: true, styles: [".p-password{position:relative;display:inline-flex}.p-password-panel{position:absolute}.p-password .p-password-panel{min-width:100%}.p-password-meter{height:10px}.p-password-strength{height:100%;width:0;transition:width 1s ease-in-out}.p-fluid .p-password{display:flex}"], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.InputText, selector: "[pInputText]" }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], animations: [
|
496
|
+
trigger('overlayAnimation', [
|
497
|
+
transition(':enter', [
|
498
|
+
style({ opacity: 0, transform: 'scaleY(0.8)' }),
|
499
|
+
animate('{{showTransitionParams}}')
|
500
|
+
]),
|
501
|
+
transition(':leave', [
|
502
|
+
animate('{{hideTransitionParams}}', style({ opacity: 0 }))
|
503
|
+
])
|
504
|
+
])
|
505
|
+
], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
506
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: Password, decorators: [{
|
507
|
+
type: Component,
|
508
|
+
args: [{
|
509
|
+
selector: 'p-password',
|
510
|
+
template: `
|
463
511
|
<div [ngClass]="containerClass()" [ngStyle]="style" [class]="styleClass">
|
464
|
-
<input #input [attr.id]="inputId" pInputText [ngClass]="inputFieldClass()" [ngStyle]="inputStyle" [class]="inputStyleClass" [attr.type]="inputType()" [attr.placeholder]="placeholder" [value]="value" (input)="onInput($event)" (focus)="onFocus()"
|
512
|
+
<input #input [attr.id]="inputId" pInputText [ngClass]="inputFieldClass()" [ngStyle]="inputStyle" [class]="inputStyleClass" [attr.type]="inputType()" [attr.placeholder]="placeholder" [value]="value" (input)="onInput($event)" (focus)="onFocus()"
|
465
513
|
(blur)="onBlur()" (keyup)="onKeyUp($event)" />
|
466
514
|
<i *ngIf="toggleMask" [ngClass]="toggleIconClass()" (click)="onMaskToggle()"></i>
|
467
|
-
<div #overlay *ngIf="overlayVisible" [ngClass]="'p-password-panel p-component'"
|
515
|
+
<div #overlay *ngIf="overlayVisible" [ngClass]="'p-password-panel p-component'"
|
468
516
|
[@overlayAnimation]="{value: 'visible', params: {showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}" (@overlayAnimation.start)="onAnimationStart($event)">
|
469
517
|
<ng-container *ngTemplateOutlet="headerTemplate"></ng-container>
|
470
518
|
<ng-container *ngIf="contentTemplate; else content">
|
@@ -480,60 +528,80 @@ Password.decorators = [
|
|
480
528
|
</div>
|
481
529
|
</div>
|
482
530
|
`,
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
531
|
+
animations: [
|
532
|
+
trigger('overlayAnimation', [
|
533
|
+
transition(':enter', [
|
534
|
+
style({ opacity: 0, transform: 'scaleY(0.8)' }),
|
535
|
+
animate('{{showTransitionParams}}')
|
536
|
+
]),
|
537
|
+
transition(':leave', [
|
538
|
+
animate('{{hideTransitionParams}}', style({ opacity: 0 }))
|
539
|
+
])
|
491
540
|
])
|
492
|
-
]
|
493
|
-
|
494
|
-
|
495
|
-
|
496
|
-
|
497
|
-
|
498
|
-
|
499
|
-
|
500
|
-
|
501
|
-
|
502
|
-
|
503
|
-
|
504
|
-
|
505
|
-
|
506
|
-
|
507
|
-
|
508
|
-
|
509
|
-
|
510
|
-
|
511
|
-
|
512
|
-
|
513
|
-
|
514
|
-
|
515
|
-
|
516
|
-
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
|
521
|
-
|
522
|
-
|
523
|
-
|
524
|
-
|
525
|
-
|
526
|
-
|
527
|
-
|
528
|
-
|
529
|
-
|
541
|
+
],
|
542
|
+
host: {
|
543
|
+
'[class.p-inputwrapper-filled]': 'filled()',
|
544
|
+
'[class.p-inputwrapper-focus]': 'focused'
|
545
|
+
},
|
546
|
+
providers: [Password_VALUE_ACCESSOR],
|
547
|
+
styleUrls: ['./password.css'],
|
548
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
549
|
+
encapsulation: ViewEncapsulation.None
|
550
|
+
}]
|
551
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.PrimeNGConfig }]; }, propDecorators: { disabled: [{
|
552
|
+
type: Input
|
553
|
+
}], promptLabel: [{
|
554
|
+
type: Input
|
555
|
+
}], mediumRegex: [{
|
556
|
+
type: Input
|
557
|
+
}], strongRegex: [{
|
558
|
+
type: Input
|
559
|
+
}], weakLabel: [{
|
560
|
+
type: Input
|
561
|
+
}], mediumLabel: [{
|
562
|
+
type: Input
|
563
|
+
}], strongLabel: [{
|
564
|
+
type: Input
|
565
|
+
}], inputId: [{
|
566
|
+
type: Input
|
567
|
+
}], feedback: [{
|
568
|
+
type: Input
|
569
|
+
}], appendTo: [{
|
570
|
+
type: Input
|
571
|
+
}], toggleMask: [{
|
572
|
+
type: Input
|
573
|
+
}], inputStyleClass: [{
|
574
|
+
type: Input
|
575
|
+
}], styleClass: [{
|
576
|
+
type: Input
|
577
|
+
}], style: [{
|
578
|
+
type: Input
|
579
|
+
}], inputStyle: [{
|
580
|
+
type: Input
|
581
|
+
}], showTransitionOptions: [{
|
582
|
+
type: Input
|
583
|
+
}], hideTransitionOptions: [{
|
584
|
+
type: Input
|
585
|
+
}], placeholder: [{
|
586
|
+
type: Input
|
587
|
+
}], input: [{
|
588
|
+
type: ViewChild,
|
589
|
+
args: ['input']
|
590
|
+
}], templates: [{
|
591
|
+
type: ContentChildren,
|
592
|
+
args: [PrimeTemplate]
|
593
|
+
}] } });
|
530
594
|
export class PasswordModule {
|
531
595
|
}
|
532
|
-
PasswordModule
|
533
|
-
|
534
|
-
|
535
|
-
|
536
|
-
|
537
|
-
|
538
|
-
]
|
539
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL3Bhc3N3b3JkLyIsInNvdXJjZXMiOlsicGFzc3dvcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsVUFBVSxFQUFDLFlBQVksRUFBQyxLQUFLLEVBQW1CLE1BQU0sRUFBVSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSxlQUFlLEVBQTBCLFNBQVMsRUFBb0IsU0FBUyxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1USxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxVQUFVLEVBQUUsNkJBQTZCLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFDdEUsT0FBTyxFQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQzFFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQVVsRCxNQUFNLE9BQU8saUJBQWlCO0lBNEIxQixZQUFtQixFQUFjLEVBQVMsSUFBWTtRQUFuQyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVMsU0FBSSxHQUFKLElBQUksQ0FBUTtRQTFCN0MsZ0JBQVcsR0FBVyxrQkFBa0IsQ0FBQztRQUV6QyxjQUFTLEdBQVcsTUFBTSxDQUFDO1FBRTNCLGdCQUFXLEdBQVcsUUFBUSxDQUFDO1FBRS9CLGdCQUFXLEdBQVcsUUFBUSxDQUFDO1FBRS9CLGFBQVEsR0FBWSxJQUFJLENBQUM7SUFrQnVCLENBQUM7SUFoQjFELElBQWEsWUFBWSxDQUFDLElBQWE7UUFDbkMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7SUFDNUQsQ0FBQztJQWdCRCxTQUFTO1FBQ0wsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUdELE9BQU8sQ0FBQyxDQUFDO1FBQ0wsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELGlCQUFpQjtRQUNiLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDcEYsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsMkVBQTJFLENBQUM7UUFDbkcsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLGtCQUFrQixDQUFDO1FBQzFDLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQztRQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDbkYsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2FBQ3RCO1lBRUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0RCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1lBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO2dCQUU3QixVQUFVLENBQUMsR0FBRyxFQUFFO29CQUNaLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSw2QkFBNkIsQ0FBQyxDQUFDO29CQUMvRCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztvQkFDMUIsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7Z0JBQ3RDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNWLENBQUMsQ0FBQyxDQUFDO1lBQ0gsVUFBVSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUNsRTtJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDN0IsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLDRCQUE0QixDQUFDLENBQUM7WUFDOUQsVUFBVSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLDZCQUE2QixDQUFDLENBQUM7WUFDbEUsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7WUFFcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7Z0JBQzdCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7b0JBQ1osSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUN2QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDWixDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUdELE9BQU87UUFDSCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUdELE1BQU07UUFDRixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUdELE9BQU8sQ0FBQyxDQUFDO1FBQ0wsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2YsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQzFCLEtBQUssR0FBRyxJQUFJLEVBQ1osUUFBUSxHQUFHLElBQUksQ0FBQztZQUVoQixJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUNwQixLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztnQkFDekIsUUFBUSxHQUFHLFNBQVMsQ0FBQzthQUN4QjtpQkFDSTtnQkFDRCxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUVyQyxJQUFJLEtBQUssR0FBRyxFQUFFLEVBQUU7b0JBQ1osS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7b0JBQ3ZCLFFBQVEsR0FBRyxXQUFXLENBQUM7aUJBQzFCO3FCQUNJLElBQUksS0FBSyxJQUFJLEVBQUUsSUFBSSxLQUFLLEdBQUcsRUFBRSxFQUFFO29CQUNoQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztvQkFDekIsUUFBUSxHQUFHLFdBQVcsQ0FBQztpQkFDMUI7cUJBQ0ksSUFBSSxLQUFLLElBQUksRUFBRSxFQUFFO29CQUNsQixLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztvQkFDekIsUUFBUSxHQUFHLFdBQVcsQ0FBQztpQkFDMUI7YUFDSjtZQUVELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLDZCQUE2QixDQUFDLEVBQUU7Z0JBQ2hGLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQzthQUN0QjtZQUVELElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLGtCQUFrQixHQUFHLFFBQVEsQ0FBQztZQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7U0FDakM7SUFDTCxDQUFDO0lBRUQsWUFBWSxDQUFDLEdBQVc7UUFDcEIsSUFBSSxLQUFLLEdBQVcsQ0FBQyxDQUFDO1FBQ3RCLElBQUksR0FBcUIsQ0FBQztRQUUxQixHQUFHLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QixLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBRXhELEdBQUcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzVCLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7UUFFeEQsR0FBRyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNyQyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBRXhELEdBQUcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pCLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7UUFFeEQsS0FBSyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBRXhCLE9BQU8sS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDckMsQ0FBQztJQUVELFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNWLElBQUksSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFakIsSUFBSSxJQUFJLElBQUksQ0FBQztZQUNULE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQzs7WUFFYixPQUFPLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO0lBQzFDLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNyQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksNkJBQTZCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFO2dCQUMvRSxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSw2QkFBNkIsQ0FBQyxFQUFFO29CQUNoRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7aUJBQ3RCO1lBQ0wsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUVELElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRUQsb0JBQW9CO1FBQ2hCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLG9CQUFvQixFQUFFLENBQUM7U0FDN0M7SUFDTCxDQUFDO0lBRUQsMEJBQTBCO1FBQ3RCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3RCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCw0QkFBNEI7UUFDeEIsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDN0IsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztZQUNsRSxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDO1NBQ3RDO0lBQ0wsQ0FBQztJQUVELGNBQWM7UUFDVixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDWixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO2FBQzdCO1lBRUQsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7WUFFcEMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1NBQ3BCO0lBQ0wsQ0FBQzs7O1lBck9KLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsYUFBYTtnQkFDdkIsSUFBSSxFQUFFO29CQUNGLHFCQUFxQixFQUFFLE1BQU07b0JBQzdCLHFCQUFxQixFQUFFLE1BQU07b0JBQzdCLGtCQUFrQixFQUFFLFFBQVE7aUJBQy9CO2FBQ0o7OztZQWYwQixVQUFVO1lBQXNDLE1BQU07OzswQkFrQjVFLEtBQUs7d0JBRUwsS0FBSzswQkFFTCxLQUFLOzBCQUVMLEtBQUs7dUJBRUwsS0FBSzsyQkFFTCxLQUFLO3NCQXNCTCxZQUFZLFNBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO3NCQTBEaEMsWUFBWSxTQUFDLE9BQU87cUJBS3BCLFlBQVksU0FBQyxNQUFNO3NCQUtuQixZQUFZLFNBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDOztBQTJIckMsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQVE7SUFDeEMsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQztJQUN2QyxLQUFLLEVBQUUsSUFBSTtDQUNkLENBQUM7QUE0Q0YsTUFBTSxPQUFPLFFBQVE7SUE2RWpCLFlBQW9CLEVBQXFCLEVBQVUsTUFBcUI7UUFBcEQsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBdkUvRCxnQkFBVyxHQUFXLHdGQUF3RixDQUFDO1FBRS9HLGdCQUFXLEdBQVcsNkNBQTZDLENBQUM7UUFVcEUsYUFBUSxHQUFZLElBQUksQ0FBQztRQWN6QiwwQkFBcUIsR0FBVyxpQ0FBaUMsQ0FBQztRQUVsRSwwQkFBcUIsR0FBVyxZQUFZLENBQUM7UUFjdEQsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFNaEMsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUV6QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBYzFCLFVBQUssR0FBVyxJQUFJLENBQUM7UUFFckIsa0JBQWEsR0FBYSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFFbkMsbUJBQWMsR0FBYSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFHdUMsQ0FBQztJQUU1RSxrQkFBa0I7UUFDZCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzVCLFFBQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUNuQixLQUFLLFNBQVM7b0JBQ1YsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO29CQUN6QyxNQUFNO2dCQUVOLEtBQUssUUFBUTtvQkFDVCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7b0JBQ3hDLE1BQU07Z0JBRU4sS0FBSyxRQUFRO29CQUNULElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztvQkFDeEMsTUFBTTtnQkFFTjtvQkFDSSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7b0JBQ3pDLE1BQU07YUFDVDtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQUs7UUFDbEIsUUFBTyxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQ2xCLEtBQUssU0FBUztnQkFDVixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7Z0JBQ2hFLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUNwQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztnQkFDMUIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7Z0JBQzlCLE1BQU07WUFFTixLQUFLLE1BQU07Z0JBQ1AsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2dCQUM1QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztnQkFDeEIsTUFBTTtTQUNUO0lBQ0wsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssTUFBTTtnQkFDeEIsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDOztnQkFFeEMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUN4RTtJQUNMLENBQUM7SUFFRCxZQUFZO1FBQ1IsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDeEYsVUFBVSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUN2RTthQUNJO1lBQ0QsVUFBVSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUN2RTtJQUNMLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBSztRQUNULElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDaEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2YsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7U0FDOUI7SUFDTCxDQUFDO0lBRUQsTUFBTTtRQUNGLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNmLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1NBQy9CO0lBQ0wsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFLO1FBQ1QsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2YsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUVyQixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtnQkFDdEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7YUFDOUI7U0FDSjtJQUNMLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBSztRQUNWLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUM7UUFFakIsUUFBUSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzlCLEtBQUssQ0FBQztnQkFDRixLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUN4QixLQUFLLEdBQUc7b0JBQ0osUUFBUSxFQUFFLE1BQU07b0JBQ2hCLEtBQUssRUFBRSxRQUFRO2lCQUNsQixDQUFDO2dCQUNGLE1BQU07WUFFVixLQUFLLENBQUM7Z0JBQ0YsS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDMUIsS0FBSyxHQUFHO29CQUNKLFFBQVEsRUFBRSxRQUFRO29CQUNsQixLQUFLLEVBQUUsUUFBUTtpQkFDbEIsQ0FBQztnQkFDRixNQUFNO1lBRVYsS0FBSyxDQUFDO2dCQUNGLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQzFCLEtBQUssR0FBRztvQkFDSixRQUFRLEVBQUUsUUFBUTtvQkFDbEIsS0FBSyxFQUFFLE1BQU07aUJBQ2hCLENBQUM7Z0JBQ0YsTUFBTTtZQUVWO2dCQUNJLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQzFCLEtBQUssR0FBRyxJQUFJLENBQUM7Z0JBQ2IsTUFBTTtTQUNiO1FBRUQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUNuQyxDQUFDO0lBRUQsWUFBWSxDQUFDLEdBQUc7UUFDWixJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7UUFFZCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQ2hDLEtBQUssR0FBRyxDQUFDLENBQUM7YUFDVCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQ3JDLEtBQUssR0FBRyxDQUFDLENBQUM7YUFDVCxJQUFJLEdBQUcsQ0FBQyxNQUFNO1lBQ2YsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUVkLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBVTtRQUNqQixJQUFJLEtBQUssS0FBSyxTQUFTO1lBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDOztZQUVsQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUV2QixJQUFJLElBQUksQ0FBQyxRQUFRO1lBQ2IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXBDLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQVk7UUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQVk7UUFDMUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELGdCQUFnQixDQUFDLEdBQVk7UUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUM7SUFDeEIsQ0FBQztJQUVELGtCQUFrQjtRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUU7Z0JBQ2xGLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtvQkFDckIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7aUJBQy9CO1lBQ0wsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUVELElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRUQsa0JBQWtCO1FBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxHQUFHLEVBQUU7Z0JBQ3ZCLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtvQkFDckIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7aUJBQy9CO1lBQ0wsQ0FBQyxDQUFDO1lBQ0YsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDMUQ7SUFDTCxDQUFDO0lBRUQsb0JBQW9CO1FBQ2hCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLG9CQUFvQixFQUFFLENBQUM7U0FDN0M7SUFDTCxDQUFDO0lBRUQsb0JBQW9CO1FBQ2hCLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNyQixNQUFNLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUMxRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztTQUM5QjtJQUNMLENBQUM7SUFFRCwwQkFBMEI7UUFDdEIsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDM0IsUUFBUSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztZQUNqRSxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO1NBQ3BDO0lBQ0wsQ0FBQztJQUVELGNBQWM7UUFDVixPQUFPLEVBQUMsdUNBQXVDLEVBQUUsSUFBSTtZQUNqRCxvQkFBb0IsRUFBRSxJQUFJLENBQUMsVUFBVTtTQUN4QyxDQUFDO0lBQ04sQ0FBQztJQUVELGVBQWU7UUFDWCxPQUFPLEVBQUMsa0JBQWtCLEVBQUcsSUFBSTtZQUN6QixZQUFZLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDbEMsQ0FBQztJQUNOLENBQUM7SUFFRCxlQUFlO1FBQ1gsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO0lBQzNELENBQUM7SUFFRCxhQUFhO1FBQ1QsT0FBTyx1QkFBdUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQzFFLENBQUM7SUFFRCxNQUFNO1FBQ0YsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFBO0lBQ25FLENBQUM7SUFFRCxVQUFVO1FBQ04sT0FBTyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxRQUFRO1FBQ0osT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxVQUFVO1FBQ04sT0FBTyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRCxVQUFVO1FBQ04sT0FBTyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRCxhQUFhO1FBQ1QsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDL0IsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLE1BQU07Z0JBQ3hCLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQzs7Z0JBRXhDLFFBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDeEU7SUFDTCxDQUFDO0lBRUQsU0FBUztRQUNMLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7SUFDL0MsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUFjO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDNUIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7U0FDN0I7SUFDTCxDQUFDOzs7WUF0WkosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxZQUFZO2dCQUN0QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBb0JUO2dCQUNELFVBQVUsRUFBRTtvQkFDUixPQUFPLENBQUMsa0JBQWtCLEVBQUU7d0JBQ3hCLFVBQVUsQ0FBQyxRQUFRLEVBQUU7NEJBQ2pCLEtBQUssQ0FBQyxFQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBQyxDQUFDOzRCQUM3QyxPQUFPLENBQUMsMEJBQTBCLENBQUM7eUJBQ3BDLENBQUM7d0JBQ0YsVUFBVSxDQUFDLFFBQVEsRUFBRTs0QkFDbkIsT0FBTyxDQUFDLDBCQUEwQixFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO3lCQUMzRCxDQUFDO3FCQUNQLENBQUM7aUJBQ0w7Z0JBQ0QsSUFBSSxFQUFFO29CQUNGLCtCQUErQixFQUFFLFVBQVU7b0JBQzNDLDhCQUE4QixFQUFFLFNBQVM7aUJBQzVDO2dCQUNELFNBQVMsRUFBRSxDQUFDLHVCQUF1QixDQUFDO2dCQUVwQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtnQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7O2FBQ3hDOzs7WUFoU3VOLGlCQUFpQjtZQUtqTyxhQUFhOzs7dUJBOFJoQixLQUFLOzBCQUVMLEtBQUs7MEJBRUwsS0FBSzswQkFFTCxLQUFLO3dCQUVMLEtBQUs7MEJBRUwsS0FBSzswQkFFTCxLQUFLO3NCQUVMLEtBQUs7dUJBRUwsS0FBSzt1QkFFTCxLQUFLO3lCQUVMLEtBQUs7OEJBRUwsS0FBSzt5QkFFTCxLQUFLO29CQUVMLEtBQUs7eUJBRUwsS0FBSztvQ0FFTCxLQUFLO29DQUVMLEtBQUs7MEJBRUwsS0FBSztvQkFFTCxTQUFTLFNBQUMsT0FBTzt3QkFRakIsZUFBZSxTQUFDLGFBQWE7O0FBcVVsQyxNQUFNLE9BQU8sY0FBYzs7O1lBTDFCLFFBQVEsU0FBQztnQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDO2dCQUN4QyxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxRQUFRLENBQUM7Z0JBQ3RDLFlBQVksRUFBRSxDQUFDLGlCQUFpQixFQUFFLFFBQVEsQ0FBQzthQUM5QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGUsRGlyZWN0aXZlLEVsZW1lbnRSZWYsSG9zdExpc3RlbmVyLElucHV0LE9uRGVzdHJveSxEb0NoZWNrLE5nWm9uZSwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiwgQ29tcG9uZW50LCBBZnRlckNvbnRlbnRJbml0LCBWaWV3Q2hpbGQsIENoYW5nZURldGVjdG9yUmVmLCBmb3J3YXJkUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHthbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlcn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge05HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0RvbUhhbmRsZXIsIENvbm5lY3RlZE92ZXJsYXlTY3JvbGxIYW5kbGVyfSBmcm9tICdwcmltZW5nL2RvbSc7XG5pbXBvcnQge1ByaW1lTkdDb25maWcsIFByaW1lVGVtcGxhdGUsIFRyYW5zbGF0aW9uS2V5c30gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHtJbnB1dFRleHRNb2R1bGV9IGZyb20gJ3ByaW1lbmcvaW5wdXR0ZXh0JztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbcFBhc3N3b3JkXScsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLnAtaW5wdXR0ZXh0XSc6ICd0cnVlJyxcbiAgICAgICAgJ1tjbGFzcy5wLWNvbXBvbmVudF0nOiAndHJ1ZScsXG4gICAgICAgICdbY2xhc3MucC1maWxsZWRdJzogJ2ZpbGxlZCdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFBhc3N3b3JkRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95LERvQ2hlY2sge1xuXG4gICAgQElucHV0KCkgcHJvbXB0TGFiZWw6IHN0cmluZyA9ICdFbnRlciBhIHBhc3N3b3JkJztcblxuICAgIEBJbnB1dCgpIHdlYWtMYWJlbDogc3RyaW5nID0gJ1dlYWsnO1xuXG4gICAgQElucHV0KCkgbWVkaXVtTGFiZWw6IHN0cmluZyA9ICdNZWRpdW0nO1xuXG4gICAgQElucHV0KCkgc3Ryb25nTGFiZWw6IHN0cmluZyA9ICdTdHJvbmcnO1xuXG4gICAgQElucHV0KCkgZmVlZGJhY2s6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgQElucHV0KCkgc2V0IHNob3dQYXNzd29yZChzaG93OiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC50eXBlID0gc2hvdyA/ICd0ZXh0JyA6ICdwYXNzd29yZCc7XG4gICAgfVxuXG4gICAgcGFuZWw6IEhUTUxEaXZFbGVtZW50O1xuXG4gICAgbWV0ZXI6IGFueTtcblxuICAgIGluZm86IGFueTtcblxuICAgIGZpbGxlZDogYm9vbGVhbjtcblxuICAgIHNjcm9sbEhhbmRsZXI6IGFueTtcblxuICAgIGRvY3VtZW50UmVzaXplTGlzdGVuZXI6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbDogRWxlbWVudFJlZiwgcHVibGljIHpvbmU6IE5nWm9uZSkge31cblxuICAgIG5nRG9DaGVjaygpIHtcbiAgICAgICAgdGhpcy51cGRhdGVGaWxsZWRTdGF0ZSgpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2lucHV0JywgWyckZXZlbnQnXSlcbiAgICBvbklucHV0KGUpIHtcbiAgICAgICAgdGhpcy51cGRhdGVGaWxsZWRTdGF0ZSgpO1xuICAgIH1cblxuICAgIHVwZGF0ZUZpbGxlZFN0YXRlKCkge1xuICAgICAgICB0aGlzLmZpbGxlZCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC52YWx1ZSAmJiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQudmFsdWUubGVuZ3RoO1xuICAgIH1cblxuICAgIGNyZWF0ZVBhbmVsKCkge1xuICAgICAgICB0aGlzLnBhbmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIHRoaXMucGFuZWwuY2xhc3NOYW1lID0gJ3AtcGFzc3dvcmQtcGFuZWwgcC1jb21wb25lbnQgcC1wYXNzd29yZC1wYW5lbC1vdmVybGF5IHAtY29ubmVjdGVkLW92ZXJsYXknO1xuICAgICAgICB0aGlzLm1ldGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIHRoaXMubWV0ZXIuY2xhc3NOYW1lID0gJ3AtcGFzc3dvcmQtbWV0ZXInO1xuICAgICAgICB0aGlzLmluZm8gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgdGhpcy5pbmZvLmNsYXNzTmFtZSA9ICdwLXBhc3N3b3JkLWluZm8nO1xuICAgICAgICB0aGlzLmluZm8udGV4dENvbnRlbnQgPSB0aGlzLnByb21wdExhYmVsO1xuICAgICAgICB0aGlzLnBhbmVsLmFwcGVuZENoaWxkKHRoaXMubWV0ZXIpO1xuICAgICAgICB0aGlzLnBhbmVsLmFwcGVuZENoaWxkKHRoaXMuaW5mbyk7XG4gICAgICAgIHRoaXMucGFuZWwuc3R5bGUubWluV2lkdGggPSBEb21IYW5kbGVyLmdldE91dGVyV2lkdGgodGhpcy5lbC5uYXRpdmVFbGVtZW50KSArICdweCc7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5wYW5lbCk7XG4gICAgfVxuXG4gICAgc2hvd092ZXJsYXkoKSB7XG4gICAgICAgIGlmICh0aGlzLmZlZWRiYWNrKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMucGFuZWwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVBhbmVsKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMucGFuZWwuc3R5bGUuekluZGV4ID0gU3RyaW5nKCsrRG9tSGFuZGxlci56aW5kZXgpO1xuICAgICAgICAgICAgdGhpcy5wYW5lbC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcbiAgICAgICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG5cbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgRG9tSGFuZGxlci5hZGRDbGFzcyh0aGlzLnBhbmVsLCAncC1jb25uZWN0ZWQtb3ZlcmxheS12aXNpYmxlJyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmluZFNjcm9sbExpc3RlbmVyKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmluZERvY3VtZW50UmVzaXplTGlzdGVuZXIoKTtcbiAgICAgICAgICAgICAgICB9LCAxKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgRG9tSGFuZGxlci5hYnNvbHV0ZVBvc2l0aW9uKHRoaXMucGFuZWwsIHRoaXMuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoaWRlT3ZlcmxheSgpIHtcbiAgICAgICAgaWYgKHRoaXMuZmVlZGJhY2sgJiYgdGhpcy5wYW5lbCkge1xuICAgICAgICAgICAgRG9tSGFuZGxlci5hZGRDbGFzcyh0aGlzLnBhbmVsLCAncC1jb25uZWN0ZWQtb3ZlcmxheS1oaWRkZW4nKTtcbiAgICAgICAgICAgIERvbUhhbmRsZXIucmVtb3ZlQ2xhc3ModGhpcy5wYW5lbCwgJ3AtY29ubmVjdGVkLW92ZXJsYXktdmlzaWJsZScpO1xuICAgICAgICAgICAgdGhpcy51bmJpbmRTY3JvbGxMaXN0ZW5lcigpO1xuICAgICAgICAgICAgdGhpcy51bmJpbmREb2N1bWVudFJlc2l6ZUxpc3RlbmVyKCk7XG5cbiAgICAgICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgICAgICAgICB9LCAxNTApO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdmb2N1cycpXG4gICAgb25Gb2N1cygpIHtcbiAgICAgICAgdGhpcy5zaG93T3ZlcmxheSgpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2JsdXInKVxuICAgIG9uQmx1cigpIHtcbiAgICAgICAgdGhpcy5oaWRlT3ZlcmxheSgpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleXVwJywgWyckZXZlbnQnXSlcbiAgICBvbktleXVwKGUpIHtcbiAgICAgICAgaWYgKHRoaXMuZmVlZGJhY2spIHtcbiAgICAgICAgICAgIGxldCB2YWx1ZSA9IGUudGFyZ2V0LnZhbHVlLFxuICAgICAgICAgICAgbGFiZWwgPSBudWxsLFxuICAgICAgICAgICAgbWV0ZXJQb3MgPSBudWxsO1xuXG4gICAgICAgICAgICBpZiAodmFsdWUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgbGFiZWwgPSB0aGlzLnByb21wdExhYmVsO1xuICAgICAgICAgICAgICAgIG1ldGVyUG9zID0gJzBweCAwcHgnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdmFyIHNjb3JlID0gdGhpcy50ZXN0U3RyZW5ndGgodmFsdWUpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHNjb3JlIDwgMzApIHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWwgPSB0aGlzLndlYWtMYWJlbDtcbiAgICAgICAgICAgICAgICAgICAgbWV0ZXJQb3MgPSAnMHB4IC0xMHB4JztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAoc2NvcmUgPj0gMzAgJiYgc2NvcmUgPCA4MCkge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbCA9IHRoaXMubWVkaXVtTGFiZWw7XG4gICAgICAgICAgICAgICAgICAgIG1ldGVyUG9zID0gJzBweCAtMjBweCc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHNjb3JlID49IDgwKSB7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsID0gdGhpcy5zdHJvbmdMYWJlbDtcbiAgICAgICAgICAgICAgICAgICAgbWV0ZXJQb3MgPSAnMHB4IC0zMHB4JztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5wYW5lbCB8fCAhRG9tSGFuZGxlci5oYXNDbGFzcyh0aGlzLnBhbmVsLCAncC1jb25uZWN0ZWQtb3ZlcmxheS12aXNpYmxlJykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dPdmVybGF5KCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMubWV0ZXIuc3R5bGUuYmFja2dyb3VuZFBvc2l0aW9uID0gbWV0ZXJQb3M7XG4gICAgICAgICAgICB0aGlzLmluZm8udGV4dENvbnRlbnQgPSBsYWJlbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRlc3RTdHJlbmd0aChzdHI6IHN0cmluZykge1xuICAgICAgICBsZXQgZ3JhZGU6IG51bWJlciA9IDA7XG4gICAgICAgIGxldCB2YWw6IFJlZ0V4cE1hdGNoQXJyYXk7XG5cbiAgICAgICAgdmFsID0gc3RyLm1hdGNoKCdbMC05XScpO1xuICAgICAgICBncmFkZSArPSB0aGlzLm5vcm1hbGl6ZSh2YWwgPyB2YWwubGVuZ3RoIDogMS80LCAxKSAqIDI1O1xuXG4gICAgICAgIHZhbCA9IHN0ci5tYXRjaCgnW2EtekEtWl0nKTtcbiAgICAgICAgZ3JhZGUgKz0gdGhpcy5ub3JtYWxpemUodmFsID8gdmFsLmxlbmd0aCA6IDEvMiwgMykgKiAxMDtcblxuICAgICAgICB2YWwgPSBzdHIubWF0Y2goJ1shQCMkJV4mKj9ffi4sOz1dJyk7XG4gICAgICAgIGdyYWRlICs9IHRoaXMubm9ybWFsaXplKHZhbCA/IHZhbC5sZW5ndGggOiAxLzYsIDEpICogMzU7XG5cbiAgICAgICAgdmFsID0gc3RyLm1hdGNoKCdbQS1aXScpO1xuICAgICAgICBncmFkZSArPSB0aGlzLm5vcm1hbGl6ZSh2YWwgPyB2YWwubGVuZ3RoIDogMS82LCAxKSAqIDMwO1xuXG4gICAgICAgIGdyYWRlICo9IHN0ci5sZW5ndGggLyA4O1xuXG4gICAgICAgIHJldHVybiBncmFkZSA+IDEwMCA/IDEwMCA6IGdyYWRlO1xuICAgIH1cblxuICAgIG5vcm1hbGl6ZSh4LCB5KSB7XG4gICAgICAgIGxldCBkaWZmID0geCAtIHk7XG5cbiAgICAgICAgaWYgKGRpZmYgPD0gMClcbiAgICAgICAgICAgIHJldHVybiB4IC8geTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgcmV0dXJuIDEgKyAwLjUgKiAoeCAvICh4ICsgeS80KSk7XG4gICAgfVxuXG4gICAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmRpc2FibGVkO1xuICAgIH1cblxuICAgIGJpbmRTY3JvbGxMaXN0ZW5lcigpIHtcbiAgICAgICAgaWYgKCF0aGlzLnNjcm9sbEhhbmRsZXIpIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsSGFuZGxlciA9IG5ldyBDb25uZWN0ZWRPdmVybGF5U2Nyb2xsSGFuZGxlcih0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoRG9tSGFuZGxlci5oYXNDbGFzcyh0aGlzLnBhbmVsLCAncC1jb25uZWN0ZWQtb3ZlcmxheS12aXNpYmxlJykpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oaWRlT3ZlcmxheSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zY3JvbGxIYW5kbGVyLmJpbmRTY3JvbGxMaXN0ZW5lcigpO1xuICAgIH1cblxuICAgIHVuYmluZFNjcm9sbExpc3RlbmVyKCkge1xuICAgICAgICBpZiAodGhpcy5zY3JvbGxIYW5kbGVyKSB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbEhhbmRsZXIudW5iaW5kU2Nyb2xsTGlzdGVuZXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGJpbmREb2N1bWVudFJlc2l6ZUxpc3RlbmVyKCkge1xuICAgICAgICB0aGlzLmRvY3VtZW50UmVzaXplTGlzdGVuZXIgPSB0aGlzLm9uV2luZG93UmVzaXplLmJpbmQodGhpcyk7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLmRvY3VtZW50UmVzaXplTGlzdGVuZXIpO1xuICAgIH1cblxuICAgIHVuYmluZERvY3VtZW50UmVzaXplTGlzdGVuZXIoKSB7XG4gICAgICAgIGlmICh0aGlzLmRvY3VtZW50UmVzaXplTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLmRvY3VtZW50UmVzaXplTGlzdGVuZXIpO1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudFJlc2l6ZUxpc3RlbmVyID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uV2luZG93UmVzaXplKCkge1xuICAgICAgICB0aGlzLmhpZGVPdmVybGF5KCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGlmICh0aGlzLnBhbmVsKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zY3JvbGxIYW5kbGVyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxIYW5kbGVyLmRlc3Ryb3koKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbEhhbmRsZXIgPSBudWxsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnVuYmluZERvY3VtZW50UmVzaXplTGlzdGVuZXIoKTtcblxuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0aGlzLnBhbmVsKTtcbiAgICAgICAgICAgIHRoaXMucGFuZWwgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5tZXRlciA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLmluZm8gPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbmV4cG9ydCBjb25zdCBQYXNzd29yZF9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBhc3N3b3JkKSxcbiAgICBtdWx0aTogdHJ1ZVxufTtcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncC1wYXNzd29yZCcsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGRpdiBbbmdDbGFzc109XCJjb250YWluZXJDbGFzcygpXCIgW25nU3R5bGVdPVwic3R5bGVcIiBbY2xhc3NdPVwic3R5bGVDbGFzc1wiPlxuICAgICAgICAgICAgPGlucHV0ICNpbnB1dCBbYXR0ci5pZF09XCJpbnB1dElkXCIgcElucHV0VGV4dCBbbmdDbGFzc109XCJpbnB1dEZpZWxkQ2xhc3MoKVwiIFtuZ1N0eWxlXT1cImlucHV0U3R5bGVcIiBbY2xhc3NdPVwiaW5wdXRTdHlsZUNsYXNzXCIgW2F0dHIudHlwZV09XCJpbnB1dFR5cGUoKVwiIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW3ZhbHVlXT1cInZhbHVlXCIgKGlucHV0KT1cIm9uSW5wdXQoJGV2ZW50KVwiIChmb2N1cyk9XCJvbkZvY3VzKClcIiBcbiAgICAgICAgICAgICAgICAoYmx1cik9XCJvbkJsdXIoKVwiIChrZXl1cCk9XCJvbktleVVwKCRldmVudClcIiAvPlxuICAgICAgICAgICAgPGkgKm5nSWY9XCJ0b2dnbGVNYXNrXCIgW25nQ2xhc3NdPVwidG9nZ2xlSWNvbkNsYXNzKClcIiAoY2xpY2spPVwib25NYXNrVG9nZ2xlKClcIj48L2k+XG4gICAgICAgICAgICA8ZGl2ICNvdmVybGF5ICpuZ0lmPVwib3ZlcmxheVZpc2libGVcIiBbbmdDbGFzc109XCIncC1wYXNzd29yZC1wYW5lbCBwLWNvbXBvbmVudCdcIiBcbiAgICAgICAgICAgICAgICBbQG92ZXJsYXlBbmltYXRpb25dPVwie3ZhbHVlOiAndmlzaWJsZScsIHBhcmFtczoge3Nob3dUcmFuc2l0aW9uUGFyYW1zOiBzaG93VHJhbnNpdGlvbk9wdGlvbnMsIGhpZGVUcmFuc2l0aW9uUGFyYW1zOiBoaWRlVHJhbnNpdGlvbk9wdGlvbnN9fVwiIChAb3ZlcmxheUFuaW1hdGlvbi5zdGFydCk9XCJvbkFuaW1hdGlvblN0YXJ0KCRldmVudClcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udGVudFRlbXBsYXRlOyBlbHNlIGNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtcGFzc3dvcmQtbWV0ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwic3RyZW5ndGhDbGFzcygpXCIgW25nU3R5bGVdPVwieyd3aWR0aCc6IG1ldGVyID8gbWV0ZXIud2lkdGggOiAnJ31cIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicC1wYXNzd29yZC1pbmZvXCI+e3tpbmZvVGV4dH19PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZm9vdGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICBgLFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgdHJpZ2dlcignb3ZlcmxheUFuaW1hdGlvbicsIFtcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcbiAgICAgICAgICAgICAgICBzdHlsZSh7b3BhY2l0eTogMCwgdHJhbnNmb3JtOiAnc2NhbGVZKDAuOCknfSksXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgne3tzaG93VHJhbnNpdGlvblBhcmFtc319JylcbiAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcbiAgICAgICAgICAgICAgICBhbmltYXRlKCd7e2hpZGVUcmFuc2l0aW9uUGFyYW1zfX0nLCBzdHlsZSh7IG9wYWNpdHk6IDAgfSkpXG4gICAgICAgICAgICAgIF0pXG4gICAgICAgIF0pXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbY2xhc3MucC1pbnB1dHdyYXBwZXItZmlsbGVkXSc6ICdmaWxsZWQoKScsXG4gICAgICAgICdbY2xhc3MucC1pbnB1dHdyYXBwZXItZm9jdXNdJzogJ2ZvY3VzZWQnXG4gICAgfSxcbiAgICBwcm92aWRlcnM6IFtQYXNzd29yZF9WQUxVRV9BQ0NFU1NPUl0sXG4gICAgc3R5bGVVcmxzOiBbJy4vcGFzc3dvcmQuY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBQYXNzd29yZCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsT25Jbml0IHtcbiAgICBcbiAgICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpIHByb21wdExhYmVsOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBtZWRpdW1SZWdleDogc3RyaW5nID0gJ14oKCg/PS4qW2Etel0pKD89LipbQS1aXSkpfCgoPz0uKlthLXpdKSg/PS4qWzAtOV0pKXwoKD89LipbQS1aXSkoPz0uKlswLTldKSkpKD89Lns2LH0pJztcblxuICAgIEBJbnB1dCgpIHN0cm9uZ1JlZ2V4OiBzdHJpbmcgPSAnXig/PS4qW2Etel0pKD89LipbQS1aXSkoPz0uKlswLTldKSg/PS57OCx9KSc7XG5cbiAgICBASW5wdXQoKSB3ZWFrTGFiZWw6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIG1lZGl1bUxhYmVsOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBzdHJvbmdMYWJlbDogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgaW5wdXRJZDogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgZmVlZGJhY2s6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgQElucHV0KCkgYXBwZW5kVG86IGFueTtcblxuICAgIEBJbnB1dCgpIHRvZ2dsZU1hc2s6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSBpbnB1dFN0eWxlQ2xhc3M6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIHN0eWxlQ2xhc3M6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIHN0eWxlOiBhbnk7XG5cbiAgICBASW5wdXQoKSBpbnB1dFN0eWxlOiBhbnk7XG5cbiAgICBASW5wdXQoKSBzaG93VHJhbnNpdGlvbk9wdGlvbnM6IHN0cmluZyA9ICcuMTJzIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpJztcblxuICAgIEBJbnB1dCgpIGhpZGVUcmFuc2l0aW9uT3B0aW9uczogc3RyaW5nID0gJy4xcyBsaW5lYXInO1xuXG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0JykgaW5wdXQ6IEVsZW1lbnRSZWY7XG5cbiAgICBjb250ZW50VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBmb290ZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIGhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihQcmltZVRlbXBsYXRlKSB0ZW1wbGF0ZXM6IFF1ZXJ5TGlzdDxhbnk+O1xuICAgIFxuICAgIG92ZXJsYXlWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBtZXRlcjogYW55O1xuICAgIFxuICAgIGluZm9UZXh0OiBzdHJpbmc7XG4gICAgXG4gICAgZm9jdXNlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIFxuICAgIHVubWFza2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBtZWRpdW1DaGVja1JlZ0V4cDogYW55O1xuXG4gICAgc3Ryb25nQ2hlY2tSZWdFeHA6IGFueTtcblxuICAgIHJlc2l6ZUxpc3RlbmVyOiBhbnk7XG5cbiAgICBvdXRzaWRlQ2xpY2tMaXN0ZW5lcjogYW55O1xuXG4gICAgc2Nyb2xsSGFuZGxlcjogYW55O1xuXG4gICAgb3ZlcmxheTogYW55O1xuXG4gICAgdmFsdWU6IHN0cmluZyA9IG51bGw7XG5cbiAgICBvbk1vZGVsQ2hhbmdlOiBGdW5jdGlvbiA9ICgpID0+IHt9O1xuXG4gICAgb25Nb2RlbFRvdWNoZWQ6IEZ1bmN0aW9uID0gKCkgPT4ge307XG5cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIGNvbmZpZzogUHJpbWVOR0NvbmZpZykge31cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgdGhpcy50ZW1wbGF0ZXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgc3dpdGNoKGl0ZW0uZ2V0VHlwZSgpKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnY29udGVudCc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGVudFRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ2hlYWRlcic6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGVhZGVyVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSAnZm9vdGVyJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb290ZXJUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50VGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5pbmZvVGV4dCA9IHRoaXMucHJvbXB0VGV4dCgpO1xuICAgICAgICB0aGlzLm1lZGl1bUNoZWNrUmVnRXhwID0gbmV3IFJlZ0V4cCh0aGlzLm1lZGl1bVJlZ2V4KTtcbiAgICAgICAgdGhpcy5zdHJvbmdDaGVja1JlZ0V4cCA9IG5ldyBSZWdFeHAodGhpcy5zdHJvbmdSZWdleCk7XG4gICAgfVxuXG4gICAgb25BbmltYXRpb25TdGFydChldmVudCkge1xuICAgICAgICBzd2l0Y2goZXZlbnQudG9TdGF0ZSkge1xuICAgICAgICAgICAgY2FzZSAndmlzaWJsZSc6XG4gICAgICAgICAgICAgICAgdGhpcy5vdmVybGF5ID0gZXZlbnQuZWxlbWVudDtcbiAgICAgICAgICAgICAgICB0aGlzLm92ZXJsYXkuc3R5bGUuekluZGV4ID0gU3RyaW5nKERvbUhhbmRsZXIuZ2VuZXJhdGVaSW5kZXgoKSk7XG4gICAgICAgICAgICAgICAgdGhpcy5hcHBlbmRDb250YWluZXIoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFsaWduT3ZlcmxheSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuYmluZFNjcm9sbExpc3RlbmVyKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5iaW5kUmVzaXplTGlzdGVuZXIoKTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlICd2b2lkJzpcbiAgICAgICAgICAgICAgICB0aGlzLnVuYmluZFNjcm9sbExpc3RlbmVyKCk7XG4gICAgICAgICAgICAgICAgdGhpcy51bmJpbmRSZXNpemVMaXN0ZW5lcigpO1xuICAgICAgICAgICAgICAgIHRoaXMub3ZlcmxheSA9IG51bGw7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFwcGVuZENvbnRhaW5lcigpIHtcbiAgICAgICAgaWYgKHRoaXMuYXBwZW5kVG8pIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmFwcGVuZFRvID09PSAnYm9keScpXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLm92ZXJsYXkpO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuYXBwZW5kVG8pLmFwcGVuZENoaWxkKHRoaXMub3ZlcmxheSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhbGlnbk92ZXJsYXkoKSB7XG4gICAgICAgIGlmICh0aGlzLmFwcGVuZFRvKSB7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXkuc3R5bGUubWluV2lkdGggPSBEb21IYW5kbGVyLmdldE91dGVyV2lkdGgodGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50KSArICdweCc7XG4gICAgICAgICAgICBEb21IYW5kbGVyLmFic29sdXRlUG9zaXRpb24odGhpcy5vdmVybGF5LCB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgRG9tSGFuZGxlci5yZWxhdGl2ZVBvc2l0aW9uKHRoaXMub3ZlcmxheSwgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uSW5wdXQoZXZlbnQpICB7XG4gICAgICAgIHRoaXMudmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgICAgIHRoaXMub25Nb2RlbENoYW5nZSh0aGlzLnZhbHVlKTtcbiAgICAgICAgdGhpcy5vbk1vZGVsVG91Y2hlZCgpO1xuICAgIH1cblxuICAgIG9uRm9jdXMoKSB7XG4gICAgICAgIHRoaXMuZm9jdXNlZCA9IHRydWU7XG4gICAgICAgIGlmICh0aGlzLmZlZWRiYWNrKSB7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQmx1cigpIHtcbiAgICAgICAgdGhpcy5mb2N1c2VkID0gZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLmZlZWRiYWNrKSB7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbktleVVwKGV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmZlZWRiYWNrKSB7XG4gICAgICAgICAgICBsZXQgdmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVVJKHZhbHVlKTtcblxuICAgICAgICAgICAgaWYgKCF0aGlzLm92ZXJsYXlWaXNpYmxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vdmVybGF5VmlzaWJsZSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgdXBkYXRlVUkodmFsdWUpIHtcbiAgICAgICAgbGV0IGxhYmVsID0gbnVsbDtcbiAgICAgICAgbGV0IG1ldGVyID0gbnVsbDtcblxuICAgICAgICBzd2l0Y2ggKHRoaXMudGVzdFN0cmVuZ3RoKHZhbHVlKSkge1xuICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgIGxhYmVsID0gdGhpcy53ZWFrVGV4dCgpO1xuICAgICAgICAgICAgICAgIG1ldGVyID0ge1xuICAgICAgICAgICAgICAgICAgICBzdHJlbmd0aDogJ3dlYWsnLFxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJzMzLjMzJSdcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgbGFiZWwgPSB0aGlzLm1lZGl1bVRleHQoKTtcbiAgICAgICAgICAgICAgICBtZXRlciA9IHtcbiAgICAgICAgICAgICAgICAgICAgc3RyZW5ndGg6ICdtZWRpdW0nLFxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJzY2LjY2JSdcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgICAgICAgbGFiZWwgPSB0aGlzLnN0cm9uZ1RleHQoKTtcbiAgICAgICAgICAgICAgICBtZXRlciA9IHtcbiAgICAgICAgICAgICAgICAgICAgc3RyZW5ndGg6ICdzdHJvbmcnLFxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJzEwMCUnXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBsYWJlbCA9IHRoaXMucHJvbXB0VGV4dCgpO1xuICAgICAgICAgICAgICAgIG1ldGVyID0gbnVsbDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubWV0ZXIgPSBtZXRlcjtcbiAgICAgICAgdGhpcy5pbmZvVGV4dCA9IGxhYmVsO1xuICAgIH1cblxuICAgIG9uTWFza1RvZ2dsZSgpIHtcbiAgICAgICAgdGhpcy51bm1hc2tlZCA9ICF0aGlzLnVubWFza2VkO1xuICAgIH1cblxuICAgIHRlc3RTdHJlbmd0aChzdHIpIHtcbiAgICAgICAgbGV0IGxldmVsID0gMDtcblxuICAgICAgICBpZiAodGhpcy5zdHJvbmdDaGVja1JlZ0V4cC50ZXN0KHN0cikpXG4gICAgICAgICAgICBsZXZlbCA9IDM7XG4gICAgICAgIGVsc2UgaWYgKHRoaXMubWVkaXVtQ2hlY2tSZWdFeHAudGVzdChzdHIpKVxuICAgICAgICAgICAgbGV2ZWwgPSAyO1xuICAgICAgICBlbHNlIGlmIChzdHIubGVuZ3RoKVxuICAgICAgICAgICAgbGV2ZWwgPSAxO1xuXG4gICAgICAgIHJldHVybiBsZXZlbDtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIDogdm9pZCB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gICAgICAgIGVsc2UgXG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG5cbiAgICAgICAgaWYgKHRoaXMuZmVlZGJhY2spXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVVJKHRoaXMudmFsdWUgfHwgXCJcIik7XG4gICAgICAgIFxuICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IEZ1bmN0aW9uKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Nb2RlbENoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBGdW5jdGlvbik6IHZvaWQge1xuICAgICAgICB0aGlzLm9uTW9kZWxUb3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZSh2YWw6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IHZhbDtcbiAgICB9XG5cbiAgICBiaW5kU2Nyb2xsTGlzdGVuZXIoKSB7XG4gICAgICAgIGlmICghdGhpcy5zY3JvbGxIYW5kbGVyKSB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbEhhbmRsZXIgPSBuZXcgQ29ubmVjdGVkT3ZlcmxheVNjcm9sbEhhbmRsZXIodGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMub3ZlcmxheVZpc2libGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vdmVybGF5VmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zY3JvbGxIYW5kbGVyLmJpbmRTY3JvbGxMaXN0ZW5lcigpO1xuICAgIH1cblxuICAgIGJpbmRSZXNpemVMaXN0ZW5lcigpIHtcbiAgICAgICAgaWYgKCF0aGlzLnJlc2l6ZUxpc3RlbmVyKSB7XG4gICAgICAgICAgICB0aGlzLnJlc2l6ZUxpc3RlbmVyID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLm92ZXJsYXlWaXNpYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3ZlcmxheVZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMucmVzaXplTGlzdGVuZXIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdW5iaW5kU2Nyb2xsTGlzdGVuZXIoKSB7XG4gICAgICAgIGlmICh0aGlzLnNjcm9sbEhhbmRsZXIpIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsSGFuZGxlci51bmJpbmRTY3JvbGxMaXN0ZW5lcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdW5iaW5kUmVzaXplTGlzdGVuZXIoKSB7XG4gICAgICAgIGlmICh0aGlzLnJlc2l6ZUxpc3RlbmVyKSB7XG4gICAgICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5yZXNpemVMaXN0ZW5lcik7XG4gICAgICAgICAgICB0aGlzLnJlc2l6ZUxpc3RlbmVyID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVuYmluZE91dHNpZGVDbGlja0xpc3RlbmVyKCkge1xuICAgICAgICBpZiAodGhpcy5vdXRzaWRlQ2xpY2tMaXN0ZW5lcikge1xuICAgICAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLm91dHNpZGVDbGlja0xpc3RlbmVyKTtcbiAgICAgICAgICAgIHRoaXMub3V0c2lkZUNsaWNrTGlzdGVuZXIgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29udGFpbmVyQ2xhc3MoKSB7XG4gICAgICAgIHJldHVybiB7J3AtcGFzc3dvcmQgcC1jb21wb25lbnQgcC1pbnB1dHdyYXBwZXInOiB0cnVlLFxuICAgICAgICAgICAgJ3AtaW5wdXQtaWNvbi1yaWdodCc6IHRoaXMudG9nZ2xlTWFza1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIGlucHV0RmllbGRDbGFzcygpIHtcbiAgICAgICAgcmV0dXJuIHsncC1wYXNzd29yZC1pbnB1dCcgOiB0cnVlLCBcbiAgICAgICAgICAgICAgICAncC1kaXNhYmxlZCc6IHRoaXMuZGlzYWJsZWRcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICB0b2dnbGVJY29uQ2xhc3MoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnVubWFza2VkID8gJ3BpIHBpLWV5ZS1zbGFzaCcgOiAncGkgcGktZXllJztcbiAgICB9XG5cbiAgICBzdHJlbmd0aENsYXNzKCkge1xuICAgICAgICByZXR1cm4gYHAtcGFzc3dvcmQtc3RyZW5ndGggJHt0aGlzLm1ldGVyID8gdGhpcy5tZXRlci5zdHJlbmd0aCA6ICcnfWA7XG4gICAgfVxuXG4gICAgZmlsbGVkKCkge1xuICAgICAgICByZXR1cm4gKHRoaXMudmFsdWUgIT0gbnVsbCAmJiB0aGlzLnZhbHVlLnRvU3RyaW5nKCkubGVuZ3RoID4gMClcbiAgICB9XG5cbiAgICBwcm9tcHRUZXh0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm9tcHRMYWJlbCB8fCB0aGlzLmdldFRyYW5zbGF0aW9uKFRyYW5zbGF0aW9uS2V5cy5QQVNTV09SRF9QUk9NUFQpO1xuICAgIH1cblxuICAgIHdlYWtUZXh0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy53ZWFrTGFiZWwgfHwgdGhpcy5nZXRUcmFuc2xhdGlvbihUcmFuc2xhdGlvbktleXMuV0VBSyk7XG4gICAgfVxuXG4gICAgbWVkaXVtVGV4dCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWVkaXVtTGFiZWwgfHwgdGhpcy5nZXRUcmFuc2xhdGlvbihUcmFuc2xhdGlvbktleXMuTUVESVVNKTtcbiAgICB9XG5cbiAgICBzdHJvbmdUZXh0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zdHJvbmdMYWJlbCB8fCB0aGlzLmdldFRyYW5zbGF0aW9uKFRyYW5zbGF0aW9uS2V5cy5TVFJPTkcpO1xuICAgIH1cblxuICAgIHJlc3RvcmVBcHBlbmQoKSB7XG4gICAgICAgIGlmICh0aGlzLm92ZXJsYXkgJiYgdGhpcy5hcHBlbmRUbykge1xuICAgICAgICAgICAgaWYgKHRoaXMuYXBwZW5kVG8gPT09ICdib2R5JylcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRoaXMub3ZlcmxheSk7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5hcHBlbmRUbykucmVtb3ZlQ2hpbGQodGhpcy5vdmVybGF5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0VHlwZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudW5tYXNrZWQgPyAndGV4dCcgOiAncGFzc3dvcmQnO1xuICAgIH1cblxuICAgIGdldFRyYW5zbGF0aW9uKG9wdGlvbjogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5nZXRUcmFuc2xhdGlvbihvcHRpb24pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLnJlc3RvcmVBcHBlbmQoKTtcbiAgICAgICAgdGhpcy51bmJpbmRSZXNpemVMaXN0ZW5lcigpO1xuICAgICAgICBpZiAodGhpcy5zY3JvbGxIYW5kbGVyKSB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbEhhbmRsZXIuZGVzdHJveSgpO1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxIYW5kbGVyID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJbnB1dFRleHRNb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtQYXNzd29yZERpcmVjdGl2ZSwgUGFzc3dvcmRdLFxuICAgIGRlY2xhcmF0aW9uczogW1Bhc3N3b3JkRGlyZWN0aXZlLCBQYXNzd29yZF1cbn0pXG5leHBvcnQgY2xhc3MgUGFzc3dvcmRNb2R1bGUgeyB9XG4iXX0=
|
596
|
+
PasswordModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PasswordModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
597
|
+
PasswordModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PasswordModule, declarations: [PasswordDirective, Password], imports: [CommonModule, InputTextModule], exports: [PasswordDirective, Password, SharedModule] });
|
598
|
+
PasswordModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PasswordModule, imports: [[CommonModule, InputTextModule], SharedModule] });
|
599
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PasswordModule, decorators: [{
|
600
|
+
type: NgModule,
|
601
|
+
args: [{
|
602
|
+
imports: [CommonModule, InputTextModule],
|
603
|
+
exports: [PasswordDirective, Password, SharedModule],
|
604
|
+
declarations: [PasswordDirective, Password]
|
605
|
+
}]
|
606
|
+
}] });
|
607
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvcGFzc3dvcmQvcGFzc3dvcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQVksWUFBWSxFQUFDLEtBQUssRUFBbUMsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsZUFBZSxFQUEwQixTQUFTLEVBQW9CLFNBQVMsRUFBcUIsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVRLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFDLFVBQVUsRUFBRSw2QkFBNkIsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUN0RSxPQUFPLEVBQWdCLGFBQWEsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQ3hGLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7QUFVbEQsTUFBTSxPQUFPLGlCQUFpQjtJQTRCMUIsWUFBbUIsRUFBYyxFQUFTLElBQVk7UUFBbkMsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUFTLFNBQUksR0FBSixJQUFJLENBQVE7UUExQjdDLGdCQUFXLEdBQVcsa0JBQWtCLENBQUM7UUFFekMsY0FBUyxHQUFXLE1BQU0sQ0FBQztRQUUzQixnQkFBVyxHQUFXLFFBQVEsQ0FBQztRQUUvQixnQkFBVyxHQUFXLFFBQVEsQ0FBQztRQUUvQixhQUFRLEdBQVksSUFBSSxDQUFDO0lBa0J1QixDQUFDO0lBaEIxRCxJQUFhLFlBQVksQ0FBQyxJQUFhO1FBQ25DLElBQUksQ0FBQyxFQUFFLENBQUMs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QixTQUFTO3VCQUFDLE9BQU87Z0JBUWMsU0FBUztzQkFBeEMsZUFBZTt1QkFBQyxhQUFhOztBQXFVbEMsTUFBTSxPQUFPLGNBQWM7OzJHQUFkLGNBQWM7NEdBQWQsY0FBYyxpQkFwb0JkLGlCQUFpQixFQWlSakIsUUFBUSxhQStXUCxZQUFZLEVBQUUsZUFBZSxhQWhvQjlCLGlCQUFpQixFQWlSakIsUUFBUSxFQWdYc0IsWUFBWTs0R0FHMUMsY0FBYyxZQUpkLENBQUMsWUFBWSxFQUFFLGVBQWUsQ0FBQyxFQUNELFlBQVk7MkZBRzFDLGNBQWM7a0JBTDFCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGVBQWUsQ0FBQztvQkFDeEMsT0FBTyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLFlBQVksQ0FBQztvQkFDcEQsWUFBWSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsUUFBUSxDQUFDO2lCQUM5QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGUsRGlyZWN0aXZlLEVsZW1lbnRSZWYsSG9zdExpc3RlbmVyLElucHV0LE9uRGVzdHJveSxEb0NoZWNrLE5nWm9uZSwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiwgQ29tcG9uZW50LCBBZnRlckNvbnRlbnRJbml0LCBWaWV3Q2hpbGQsIENoYW5nZURldGVjdG9yUmVmLCBmb3J3YXJkUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHthbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlcn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge05HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0RvbUhhbmRsZXIsIENvbm5lY3RlZE92ZXJsYXlTY3JvbGxIYW5kbGVyfSBmcm9tICdwcmltZW5nL2RvbSc7XG5pbXBvcnQge1ByaW1lTkdDb25maWcsIFByaW1lVGVtcGxhdGUsIFNoYXJlZE1vZHVsZSwgVHJhbnNsYXRpb25LZXlzfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQge0lucHV0VGV4dE1vZHVsZX0gZnJvbSAncHJpbWVuZy9pbnB1dHRleHQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1twUGFzc3dvcmRdJyxcbiAgICBob3N0OiB7XG4gICAgICAgICdbY2xhc3MucC1pbnB1dHRleHRdJzogJ3RydWUnLFxuICAgICAgICAnW2NsYXNzLnAtY29tcG9uZW50XSc6ICd0cnVlJyxcbiAgICAgICAgJ1tjbGFzcy5wLWZpbGxlZF0nOiAnZmlsbGVkJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUGFzc3dvcmREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3ksRG9DaGVjayB7XG5cbiAgICBASW5wdXQoKSBwcm9tcHRMYWJlbDogc3RyaW5nID0gJ0VudGVyIGEgcGFzc3dvcmQnO1xuXG4gICAgQElucHV0KCkgd2Vha0xhYmVsOiBzdHJpbmcgPSAnV2Vhayc7XG5cbiAgICBASW5wdXQoKSBtZWRpdW1MYWJlbDogc3RyaW5nID0gJ01lZGl1bSc7XG5cbiAgICBASW5wdXQoKSBzdHJvbmdMYWJlbDogc3RyaW5nID0gJ1N0cm9uZyc7XG5cbiAgICBASW5wdXQoKSBmZWVkYmFjazogYm9vbGVhbiA9IHRydWU7XG5cbiAgICBASW5wdXQoKSBzZXQgc2hvd1Bhc3N3b3JkKHNob3c6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnR5cGUgPSBzaG93ID8gJ3RleHQnIDogJ3Bhc3N3b3JkJztcbiAgICB9XG5cbiAgICBwYW5lbDogSFRNTERpdkVsZW1lbnQ7XG5cbiAgICBtZXRlcjogYW55O1xuXG4gICAgaW5mbzogYW55O1xuXG4gICAgZmlsbGVkOiBib29sZWFuO1xuXG4gICAgc2Nyb2xsSGFuZGxlcjogYW55O1xuXG4gICAgZG9jdW1lbnRSZXNpemVMaXN0ZW5lcjogYW55O1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGVsOiBFbGVtZW50UmVmLCBwdWJsaWMgem9uZTogTmdab25lKSB7fVxuXG4gICAgbmdEb0NoZWNrKCkge1xuICAgICAgICB0aGlzLnVwZGF0ZUZpbGxlZFN0YXRlKCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignaW5wdXQnLCBbJyRldmVudCddKVxuICAgIG9uSW5wdXQoZSkge1xuICAgICAgICB0aGlzLnVwZGF0ZUZpbGxlZFN0YXRlKCk7XG4gICAgfVxuXG4gICAgdXBkYXRlRmlsbGVkU3RhdGUoKSB7XG4gICAgICAgIHRoaXMuZmlsbGVkID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlICYmIHRoaXMuZWwubmF0aXZlRWxlbWVudC52YWx1ZS5sZW5ndGg7XG4gICAgfVxuXG4gICAgY3JlYXRlUGFuZWwoKSB7XG4gICAgICAgIHRoaXMucGFuZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgdGhpcy5wYW5lbC5jbGFzc05hbWUgPSAncC1wYXNzd29yZC1wYW5lbCBwLWNvbXBvbmVudCBwLXBhc3N3b3JkLXBhbmVsLW92ZXJsYXkgcC1jb25uZWN0ZWQtb3ZlcmxheSc7XG4gICAgICAgIHRoaXMubWV0ZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgdGhpcy5tZXRlci5jbGFzc05hbWUgPSAncC1wYXNzd29yZC1tZXRlcic7XG4gICAgICAgIHRoaXMuaW5mbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICB0aGlzLmluZm8uY2xhc3NOYW1lID0gJ3AtcGFzc3dvcmQtaW5mbyc7XG4gICAgICAgIHRoaXMuaW5mby50ZXh0Q29udGVudCA9IHRoaXMucHJvbXB0TGFiZWw7XG4gICAgICAgIHRoaXMucGFuZWwuYXBwZW5kQ2hpbGQodGhpcy5tZXRlcik7XG4gICAgICAgIHRoaXMucGFuZWwuYXBwZW5kQ2hpbGQodGhpcy5pbmZvKTtcbiAgICAgICAgdGhpcy5wYW5lbC5zdHlsZS5taW5XaWR0aCA9IERvbUhhbmRsZXIuZ2V0T3V0ZXJXaWR0aCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpICsgJ3B4JztcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLnBhbmVsKTtcbiAgICB9XG5cbiAgICBzaG93T3ZlcmxheSgpIHtcbiAgICAgICAgaWYgKHRoaXMuZmVlZGJhY2spIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5wYW5lbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlUGFuZWwoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5wYW5lbC5zdHlsZS56SW5kZXggPSBTdHJpbmcoKytEb21IYW5kbGVyLnppbmRleCk7XG4gICAgICAgICAgICB0aGlzLnBhbmVsLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuICAgICAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcblxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBEb21IYW5kbGVyLmFkZENsYXNzKHRoaXMucGFuZWwsICdwLWNvbm5lY3RlZC1vdmVybGF5LXZpc2libGUnKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iaW5kU2Nyb2xsTGlzdGVuZXIoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iaW5kRG9jdW1lbnRSZXNpemVMaXN0ZW5lcigpO1xuICAgICAgICAgICAgICAgIH0sIDEpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBEb21IYW5kbGVyLmFic29sdXRlUG9zaXRpb24odGhpcy5wYW5lbCwgdGhpcy5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhpZGVPdmVybGF5KCkge1xuICAgICAgICBpZiAodGhpcy5mZWVkYmFjayAmJiB0aGlzLnBhbmVsKSB7XG4gICAgICAgICAgICBEb21IYW5kbGVyLmFkZENsYXNzKHRoaXMucGFuZWwsICdwLWNvbm5lY3RlZC1vdmVybGF5LWhpZGRlbicpO1xuICAgICAgICAgICAgRG9tSGFuZGxlci5yZW1vdmVDbGFzcyh0aGlzLnBhbmVsLCAncC1jb25uZWN0ZWQtb3ZlcmxheS12aXNpYmxlJyk7XG4gICAgICAgICAgICB0aGlzLnVuYmluZFNjcm9sbExpc3RlbmVyKCk7XG4gICAgICAgICAgICB0aGlzLnVuYmluZERvY3VtZW50UmVzaXplTGlzdGVuZXIoKTtcblxuICAgICAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5uZ09uRGVzdHJveSgpO1xuICAgICAgICAgICAgICAgIH0sIDE1MCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzJylcbiAgICBvbkZvY3VzKCkge1xuICAgICAgICB0aGlzLnNob3dPdmVybGF5KCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignYmx1cicpXG4gICAgb25CbHVyKCkge1xuICAgICAgICB0aGlzLmhpZGVPdmVybGF5KCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5dXAnLCBbJyRldmVudCddKVxuICAgIG9uS2V5dXAoZSkge1xuICAgICAgICBpZiAodGhpcy5mZWVkYmFjaykge1xuICAgICAgICAgICAgbGV0IHZhbHVlID0gZS50YXJnZXQudmFsdWUsXG4gICAgICAgICAgICBsYWJlbCA9IG51bGwsXG4gICAgICAgICAgICBtZXRlclBvcyA9IG51bGw7XG5cbiAgICAgICAgICAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICBsYWJlbCA9IHRoaXMucHJvbXB0TGFiZWw7XG4gICAgICAgICAgICAgICAgbWV0ZXJQb3MgPSAnMHB4IDBweCc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB2YXIgc2NvcmUgPSB0aGlzLnRlc3RTdHJlbmd0aCh2YWx1ZSk7XG5cbiAgICAgICAgICAgICAgICBpZiAoc2NvcmUgPCAzMCkge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbCA9IHRoaXMud2Vha0xhYmVsO1xuICAgICAgICAgICAgICAgICAgICBtZXRlclBvcyA9ICcwcHggLTEwcHgnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmIChzY29yZSA+PSAzMCAmJiBzY29yZSA8IDgwKSB7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsID0gdGhpcy5tZWRpdW1MYWJlbDtcbiAgICAgICAgICAgICAgICAgICAgbWV0ZXJQb3MgPSAnMHB4IC0yMHB4JztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAoc2NvcmUgPj0gODApIHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWwgPSB0aGlzLnN0cm9uZ0xhYmVsO1xuICAgICAgICAgICAgICAgICAgICBtZXRlclBvcyA9ICcwcHggLTMwcHgnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCF0aGlzLnBhbmVsIHx8ICFEb21IYW5kbGVyLmhhc0NsYXNzKHRoaXMucGFuZWwsICdwLWNvbm5lY3RlZC1vdmVybGF5LXZpc2libGUnKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2hvd092ZXJsYXkoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5tZXRlci5zdHlsZS5iYWNrZ3JvdW5kUG9zaXRpb24gPSBtZXRlclBvcztcbiAgICAgICAgICAgIHRoaXMuaW5mby50ZXh0Q29udGVudCA9IGxhYmVsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdGVzdFN0cmVuZ3RoKHN0cjogc3RyaW5nKSB7XG4gICAgICAgIGxldCBncmFkZTogbnVtYmVyID0gMDtcbiAgICAgICAgbGV0IHZhbDogUmVnRXhwTWF0Y2hBcnJheTtcblxuICAgICAgICB2YWwgPSBzdHIubWF0Y2goJ1swLTldJyk7XG4gICAgICAgIGdyYWRlICs9IHRoaXMubm9ybWFsaXplKHZhbCA/IHZhbC5sZW5ndGggOiAxLzQsIDEpICogMjU7XG5cbiAgICAgICAgdmFsID0gc3RyLm1hdGNoKCdbYS16QS1aXScpO1xuICAgICAgICBncmFkZSArPSB0aGlzLm5vcm1hbGl6ZSh2YWwgPyB2YWwubGVuZ3RoIDogMS8yLCAzKSAqIDEwO1xuXG4gICAgICAgIHZhbCA9IHN0ci5tYXRjaCgnWyFAIyQlXiYqP19+Liw7PV0nKTtcbiAgICAgICAgZ3JhZGUgKz0gdGhpcy5ub3JtYWxpemUodmFsID8gdmFsLmxlbmd0aCA6IDEvNiwgMSkgKiAzNTtcblxuICAgICAgICB2YWwgPSBzdHIubWF0Y2goJ1tBLVpdJyk7XG4gICAgICAgIGdyYWRlICs9IHRoaXMubm9ybWFsaXplKHZhbCA/IHZhbC5sZW5ndGggOiAxLzYsIDEpICogMzA7XG5cbiAgICAgICAgZ3JhZGUgKj0gc3RyLmxlbmd0aCAvIDg7XG5cbiAgICAgICAgcmV0dXJuIGdyYWRlID4gMTAwID8gMTAwIDogZ3JhZGU7XG4gICAgfVxuXG4gICAgbm9ybWFsaXplKHgsIHkpIHtcbiAgICAgICAgbGV0IGRpZmYgPSB4IC0geTtcblxuICAgICAgICBpZiAoZGlmZiA8PSAwKVxuICAgICAgICAgICAgcmV0dXJuIHggLyB5O1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICByZXR1cm4gMSArIDAuNSAqICh4IC8gKHggKyB5LzQpKTtcbiAgICB9XG5cbiAgICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgYmluZFNjcm9sbExpc3RlbmVyKCkge1xuICAgICAgICBpZiAoIXRoaXMuc2Nyb2xsSGFuZGxlcikge1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxIYW5kbGVyID0gbmV3IENvbm5lY3RlZE92ZXJsYXlTY3JvbGxIYW5kbGVyKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChEb21IYW5kbGVyLmhhc0NsYXNzKHRoaXMucGFuZWwsICdwLWNvbm5lY3RlZC1vdmVybGF5LXZpc2libGUnKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhpZGVPdmVybGF5KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNjcm9sbEhhbmRsZXIuYmluZFNjcm9sbExpc3RlbmVyKCk7XG4gICAgfVxuXG4gICAgdW5iaW5kU2Nyb2xsTGlzdGVuZXIoKSB7XG4gICAgICAgIGlmICh0aGlzLnNjcm9sbEhhbmRsZXIpIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsSGFuZGxlci51bmJpbmRTY3JvbGxMaXN0ZW5lcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYmluZERvY3VtZW50UmVzaXplTGlzdGVuZXIoKSB7XG4gICAgICAgIHRoaXMuZG9jdW1lbnRSZXNpemVMaXN0ZW5lciA9IHRoaXMub25XaW5kb3dSZXNpemUuYmluZCh0aGlzKTtcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMuZG9jdW1lbnRSZXNpemVMaXN0ZW5lcik7XG4gICAgfVxuXG4gICAgdW5iaW5kRG9jdW1lbnRSZXNpemVMaXN0ZW5lcigpIHtcbiAgICAgICAgaWYgKHRoaXMuZG9jdW1lbnRSZXNpemVMaXN0ZW5lcikge1xuICAgICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMuZG9jdW1lbnRSZXNpemVMaXN0ZW5lcik7XG4gICAgICAgICAgICB0aGlzLmRvY3VtZW50UmVzaXplTGlzdGVuZXIgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25XaW5kb3dSZXNpemUoKSB7XG4gICAgICAgIHRoaXMuaGlkZU92ZXJsYXkoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgaWYgKHRoaXMucGFuZWwpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNjcm9sbEhhbmRsZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbEhhbmRsZXIuZGVzdHJveSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsSGFuZGxlciA9IG51bGw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMudW5iaW5kRG9jdW1lbnRSZXNpemVMaXN0ZW5lcigpO1xuXG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRoaXMucGFuZWwpO1xuICAgICAgICAgICAgdGhpcy5wYW5lbCA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLm1ldGVyID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuaW5mbyA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuZXhwb3J0IGNvbnN0IFBhc3N3b3JkX1ZBTFVFX0FDQ0VTU09SOiBhbnkgPSB7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUGFzc3dvcmQpLFxuICAgIG11bHRpOiB0cnVlXG59O1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwLXBhc3N3b3JkJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cImNvbnRhaW5lckNsYXNzKClcIiBbbmdTdHlsZV09XCJzdHlsZVwiIFtjbGFzc109XCJzdHlsZUNsYXNzXCI+XG4gICAgICAgICAgICA8aW5wdXQgI2lucHV0IFthdHRyLmlkXT1cImlucHV0SWRcIiBwSW5wdXRUZXh0IFtuZ0NsYXNzXT1cImlucHV0RmllbGRDbGFzcygpXCIgW25nU3R5bGVdPVwiaW5wdXRTdHlsZVwiIFtjbGFzc109XCJpbnB1dFN0eWxlQ2xhc3NcIiBbYXR0ci50eXBlXT1cImlucHV0VHlwZSgpXCIgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiBbdmFsdWVdPVwidmFsdWVcIiAoaW5wdXQpPVwib25JbnB1dCgkZXZlbnQpXCIgKGZvY3VzKT1cIm9uRm9jdXMoKVwiXG4gICAgICAgICAgICAgICAgKGJsdXIpPVwib25CbHVyKClcIiAoa2V5dXApPVwib25LZXlVcCgkZXZlbnQpXCIgLz5cbiAgICAgICAgICAgIDxpICpuZ0lmPVwidG9nZ2xlTWFza1wiIFtuZ0NsYXNzXT1cInRvZ2dsZUljb25DbGFzcygpXCIgKGNsaWNrKT1cIm9uTWFza1RvZ2dsZSgpXCI+PC9pPlxuICAgICAgICAgICAgPGRpdiAjb3ZlcmxheSAqbmdJZj1cIm92ZXJsYXlWaXNpYmxlXCIgW25nQ2xhc3NdPVwiJ3AtcGFzc3dvcmQtcGFuZWwgcC1jb21wb25lbnQnXCJcbiAgICAgICAgICAgICAgICBbQG92ZXJsYXlBbmltYXRpb25dPVwie3ZhbHVlOiAndmlzaWJsZScsIHBhcmFtczoge3Nob3dUcmFuc2l0aW9uUGFyYW1zOiBzaG93VHJhbnNpdGlvbk9wdGlvbnMsIGhpZGVUcmFuc2l0aW9uUGFyYW1zOiBoaWRlVHJhbnNpdGlvbk9wdGlvbnN9fVwiIChAb3ZlcmxheUFuaW1hdGlvbi5zdGFydCk9XCJvbkFuaW1hdGlvblN0YXJ0KCRldmVudClcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udGVudFRlbXBsYXRlOyBlbHNlIGNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtcGFzc3dvcmQtbWV0ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwic3RyZW5ndGhDbGFzcygpXCIgW25nU3R5bGVdPVwieyd3aWR0aCc6IG1ldGVyID8gbWV0ZXIud2lkdGggOiAnJ31cIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicC1wYXNzd29yZC1pbmZvXCI+e3tpbmZvVGV4dH19PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZm9vdGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICBgLFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgdHJpZ2dlcignb3ZlcmxheUFuaW1hdGlvbicsIFtcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcbiAgICAgICAgICAgICAgICBzdHlsZSh7b3BhY2l0eTogMCwgdHJhbnNmb3JtOiAnc2NhbGVZKDAuOCknfSksXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgne3tzaG93VHJhbnNpdGlvblBhcmFtc319JylcbiAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcbiAgICAgICAgICAgICAgICBhbmltYXRlKCd7e2hpZGVUcmFuc2l0aW9uUGFyYW1zfX0nLCBzdHlsZSh7IG9wYWNpdHk6IDAgfSkpXG4gICAgICAgICAgICAgIF0pXG4gICAgICAgIF0pXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbY2xhc3MucC1pbnB1dHdyYXBwZXItZmlsbGVkXSc6ICdmaWxsZWQoKScsXG4gICAgICAgICdbY2xhc3MucC1pbnB1dHdyYXBwZXItZm9jdXNdJzogJ2ZvY3VzZWQnXG4gICAgfSxcbiAgICBwcm92aWRlcnM6IFtQYXNzd29yZF9WQUxVRV9BQ0NFU1NPUl0sXG4gICAgc3R5bGVVcmxzOiBbJy4vcGFzc3dvcmQuY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBQYXNzd29yZCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsT25Jbml0IHtcblxuICAgIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xuXG4gICAgQElucHV0KCkgcHJvbXB0TGFiZWw6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIG1lZGl1bVJlZ2V4OiBzdHJpbmcgPSAnXigoKD89LipbYS16XSkoPz0uKltBLVpdKSl8KCg/PS4qW2Etel0pKD89LipbMC05XSkpfCgoPz0uKltBLVpdKSg/PS4qWzAtOV0pKSkoPz0uezYsfSknO1xuXG4gICAgQElucHV0KCkgc3Ryb25nUmVnZXg6IHN0cmluZyA9ICdeKD89LipbYS16XSkoPz0uKltBLVpdKSg/PS4qWzAtOV0pKD89Lns4LH0pJztcblxuICAgIEBJbnB1dCgpIHdlYWtMYWJlbDogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgbWVkaXVtTGFiZWw6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIHN0cm9uZ0xhYmVsOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBpbnB1dElkOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBmZWVkYmFjazogYm9vbGVhbiA9IHRydWU7XG5cbiAgICBASW5wdXQoKSBhcHBlbmRUbzogYW55O1xuXG4gICAgQElucHV0KCkgdG9nZ2xlTWFzazogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpIGlucHV0U3R5bGVDbGFzczogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgc3R5bGVDbGFzczogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgc3R5bGU6IGFueTtcblxuICAgIEBJbnB1dCgpIGlucHV0U3R5bGU6IGFueTtcblxuICAgIEBJbnB1dCgpIHNob3dUcmFuc2l0aW9uT3B0aW9uczogc3RyaW5nID0gJy4xMnMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSknO1xuXG4gICAgQElucHV0KCkgaGlkZVRyYW5zaXRpb25PcHRpb25zOiBzdHJpbmcgPSAnLjFzIGxpbmVhcic7XG5cbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gICAgQFZpZXdDaGlsZCgnaW5wdXQnKSBpbnB1dDogRWxlbWVudFJlZjtcblxuICAgIGNvbnRlbnRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIGZvb3RlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgaGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFByaW1lVGVtcGxhdGUpIHRlbXBsYXRlczogUXVlcnlMaXN0PGFueT47XG5cbiAgICBvdmVybGF5VmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgbWV0ZXI6IGFueTtcblxuICAgIGluZm9UZXh0OiBzdHJpbmc7XG5cbiAgICBmb2N1c2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICB1bm1hc2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgbWVkaXVtQ2hlY2tSZWdFeHA6IGFueTtcblxuICAgIHN0cm9uZ0NoZWNrUmVnRXhwOiBhbnk7XG5cbiAgICByZXNpemVMaXN0ZW5lcjogYW55O1xuXG4gICAgb3V0c2lkZUNsaWNrTGlzdGVuZXI6IGFueTtcblxuICAgIHNjcm9sbEhhbmRsZXI6IGFueTtcblxuICAgIG92ZXJsYXk6IGFueTtcblxuICAgIHZhbHVlOiBzdHJpbmcgPSBudWxsO1xuXG4gICAgb25Nb2RlbENoYW5nZTogRnVuY3Rpb24gPSAoKSA9PiB7fTtcblxuICAgIG9uTW9kZWxUb3VjaGVkOiBGdW5jdGlvbiA9ICgpID0+IHt9O1xuXG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBjb25maWc6IFByaW1lTkdDb25maWcpIHt9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIHRoaXMudGVtcGxhdGVzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIHN3aXRjaChpdGVtLmdldFR5cGUoKSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ2NvbnRlbnQnOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnRUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBjYXNlICdoZWFkZXInOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmhlYWRlclRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ2Zvb3Rlcic6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9vdGVyVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50VGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5pbmZvVGV4dCA9IHRoaXMucHJvbXB0VGV4dCgpO1xuICAgICAgICB0aGlzLm1lZGl1bUNoZWNrUmVnRXhwID0gbmV3IFJlZ0V4cCh0aGlzLm1lZGl1bVJlZ2V4KTtcbiAgICAgICAgdGhpcy5zdHJvbmdDaGVja1JlZ0V4cCA9IG5ldyBSZWdFeHAodGhpcy5zdHJvbmdSZWdleCk7XG4gICAgfVxuXG4gICAgb25BbmltYXRpb25TdGFydChldmVudCkge1xuICAgICAgICBzd2l0Y2goZXZlbnQudG9TdGF0ZSkge1xuICAgICAgICAgICAgY2FzZSAndmlzaWJsZSc6XG4gICAgICAgICAgICAgICAgdGhpcy5vdmVybGF5ID0gZXZlbnQuZWxlbWVudDtcbiAgICAgICAgICAgICAgICB0aGlzLm92ZXJsYXkuc3R5bGUuekluZGV4ID0gU3RyaW5nKERvbUhhbmRsZXIuZ2VuZXJhdGVaSW5kZXgoKSk7XG4gICAgICAgICAgICAgICAgdGhpcy5hcHBlbmRDb250YWluZXIoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFsaWduT3ZlcmxheSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuYmluZFNjcm9sbExpc3RlbmVyKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5iaW5kUmVzaXplTGlzdGVuZXIoKTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlICd2b2lkJzpcbiAgICAgICAgICAgICAgICB0aGlzLnVuYmluZFNjcm9sbExpc3RlbmVyKCk7XG4gICAgICAgICAgICAgICAgdGhpcy51bmJpbmRSZXNpemVMaXN0ZW5lcigpO1xuICAgICAgICAgICAgICAgIHRoaXMub3ZlcmxheSA9IG51bGw7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFwcGVuZENvbnRhaW5lcigpIHtcbiAgICAgICAgaWYgKHRoaXMuYXBwZW5kVG8pIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmFwcGVuZFRvID09PSAnYm9keScpXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLm92ZXJsYXkpO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuYXBwZW5kVG8pLmFwcGVuZENoaWxkKHRoaXMub3ZlcmxheSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhbGlnbk92ZXJsYXkoKSB7XG4gICAgICAgIGlmICh0aGlzLmFwcGVuZFRvKSB7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXkuc3R5bGUubWluV2lkdGggPSBEb21IYW5kbGVyLmdldE91dGVyV2lkdGgodGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50KSArICdweCc7XG4gICAgICAgICAgICBEb21IYW5kbGVyLmFic29sdXRlUG9zaXRpb24odGhpcy5vdmVybGF5LCB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgRG9tSGFuZGxlci5yZWxhdGl2ZVBvc2l0aW9uKHRoaXMub3ZlcmxheSwgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uSW5wdXQoZXZlbnQpICB7XG4gICAgICAgIHRoaXMudmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgICAgIHRoaXMub25Nb2RlbENoYW5nZSh0aGlzLnZhbHVlKTtcbiAgICAgICAgdGhpcy5vbk1vZGVsVG91Y2hlZCgpO1xuICAgIH1cblxuICAgIG9uRm9jdXMoKSB7XG4gICAgICAgIHRoaXMuZm9jdXNlZCA9IHRydWU7XG4gICAgICAgIGlmICh0aGlzLmZlZWRiYWNrKSB7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQmx1cigpIHtcbiAgICAgICAgdGhpcy5mb2N1c2VkID0gZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLmZlZWRiYWNrKSB7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbktleVVwKGV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmZlZWRiYWNrKSB7XG4gICAgICAgICAgICBsZXQgdmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVVJKHZhbHVlKTtcblxuICAgICAgICAgICAgaWYgKCF0aGlzLm92ZXJsYXlWaXNpYmxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vdmVybGF5VmlzaWJsZSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVVSSh2YWx1ZSkge1xuICAgICAgICBsZXQgbGFiZWwgPSBudWxsO1xuICAgICAgICBsZXQgbWV0ZXIgPSBudWxsO1xuXG4gICAgICAgIHN3aXRjaCAodGhpcy50ZXN0U3RyZW5ndGgodmFsdWUpKSB7XG4gICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgbGFiZWwgPSB0aGlzLndlYWtUZXh0KCk7XG4gICAgICAgICAgICAgICAgbWV0ZXIgPSB7XG4gICAgICAgICAgICAgICAgICAgIHN0cmVuZ3RoOiAnd2VhaycsXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnMzMuMzMlJ1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgICAgICBsYWJlbCA9IHRoaXMubWVkaXVtVGV4dCgpO1xuICAgICAgICAgICAgICAgIG1ldGVyID0ge1xuICAgICAgICAgICAgICAgICAgICBzdHJlbmd0aDogJ21lZGl1bScsXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnNjYuNjYlJ1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgICAgICBsYWJlbCA9IHRoaXMuc3Ryb25nVGV4dCgpO1xuICAgICAgICAgICAgICAgIG1ldGVyID0ge1xuICAgICAgICAgICAgICAgICAgICBzdHJlbmd0aDogJ3N0cm9uZycsXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnMTAwJSdcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGxhYmVsID0gdGhpcy5wcm9tcHRUZXh0KCk7XG4gICAgICAgICAgICAgICAgbWV0ZXIgPSBudWxsO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5tZXRlciA9IG1ldGVyO1xuICAgICAgICB0aGlzLmluZm9UZXh0ID0gbGFiZWw7XG4gICAgfVxuXG4gICAgb25NYXNrVG9nZ2xlKCkge1xuICAgICAgICB0aGlzLnVubWFza2VkID0gIXRoaXMudW5tYXNrZWQ7XG4gICAgfVxuXG4gICAgdGVzdFN0cmVuZ3RoKHN0cikge1xuICAgICAgICBsZXQgbGV2ZWwgPSAwO1xuXG4gICAgICAgIGlmICh0aGlzLnN0cm9uZ0NoZWNrUmVnRXhwLnRlc3Qoc3RyKSlcbiAgICAgICAgICAgIGxldmVsID0gMztcbiAgICAgICAgZWxzZSBpZiAodGhpcy5tZWRpdW1DaGVja1JlZ0V4cC50ZXN0KHN0cikpXG4gICAgICAgICAgICBsZXZlbCA9IDI7XG4gICAgICAgIGVsc2UgaWYgKHN0ci5sZW5ndGgpXG4gICAgICAgICAgICBsZXZlbCA9IDE7XG5cbiAgICAgICAgcmV0dXJuIGxldmVsO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSkgOiB2b2lkIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpXG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuXG4gICAgICAgIGlmICh0aGlzLmZlZWRiYWNrKVxuICAgICAgICAgICAgdGhpcy51cGRhdGVVSSh0aGlzLnZhbHVlIHx8IFwiXCIpO1xuXG4gICAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogRnVuY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbk1vZGVsQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IEZ1bmN0aW9uKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Nb2RlbFRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlKHZhbDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gdmFsO1xuICAgIH1cblxuICAgIGJpbmRTY3JvbGxMaXN0ZW5lcigpIHtcbiAgICAgICAgaWYgKCF0aGlzLnNjcm9sbEhhbmRsZXIpIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsSGFuZGxlciA9IG5ldyBDb25uZWN0ZWRPdmVybGF5U2Nyb2xsSGFuZGxlcih0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQsICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5vdmVybGF5VmlzaWJsZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm92ZXJsYXlWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNjcm9sbEhhbmRsZXIuYmluZFNjcm9sbExpc3RlbmVyKCk7XG4gICAgfVxuXG4gICAgYmluZFJlc2l6ZUxpc3RlbmVyKCkge1xuICAgICAgICBpZiAoIXRoaXMucmVzaXplTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRoaXMucmVzaXplTGlzdGVuZXIgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMub3ZlcmxheVZpc2libGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vdmVybGF5VmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5yZXNpemVMaXN0ZW5lcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1bmJpbmRTY3JvbGxMaXN0ZW5lcigpIHtcbiAgICAgICAgaWYgKHRoaXMuc2Nyb2xsSGFuZGxlcikge1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxIYW5kbGVyLnVuYmluZFNjcm9sbExpc3RlbmVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1bmJpbmRSZXNpemVMaXN0ZW5lcigpIHtcbiAgICAgICAgaWYgKHRoaXMucmVzaXplTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLnJlc2l6ZUxpc3RlbmVyKTtcbiAgICAgICAgICAgIHRoaXMucmVzaXplTGlzdGVuZXIgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdW5iaW5kT3V0c2lkZUNsaWNrTGlzdGVuZXIoKSB7XG4gICAgICAgIGlmICh0aGlzLm91dHNpZGVDbGlja0xpc3RlbmVyKSB7XG4gICAgICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMub3V0c2lkZUNsaWNrTGlzdGVuZXIpO1xuICAgICAgICAgICAgdGhpcy5vdXRzaWRlQ2xpY2tMaXN0ZW5lciA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb250YWluZXJDbGFzcygpIHtcbiAgICAgICAgcmV0dXJuIHsncC1wYXNzd29yZCBwLWNvbXBvbmVudCBwLWlucHV0d3JhcHBlcic6IHRydWUsXG4gICAgICAgICAgICAncC1pbnB1dC1pY29uLXJpZ2h0JzogdGhpcy50b2dnbGVNYXNrXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgaW5wdXRGaWVsZENsYXNzKCkge1xuICAgICAgICByZXR1cm4geydwLXBhc3N3b3JkLWlucHV0JyA6IHRydWUsXG4gICAgICAgICAgICAgICAgJ3AtZGlzYWJsZWQnOiB0aGlzLmRpc2FibGVkXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgdG9nZ2xlSWNvbkNsYXNzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy51bm1hc2tlZCA/ICdwaSBwaS1leWUtc2xhc2gnIDogJ3BpIHBpLWV5ZSc7XG4gICAgfVxuXG4gICAgc3RyZW5ndGhDbGFzcygpIHtcbiAgICAgICAgcmV0dXJuIGBwLXBhc3N3b3JkLXN0cmVuZ3RoICR7dGhpcy5tZXRlciA/IHRoaXMubWV0ZXIuc3RyZW5ndGggOiAnJ31gO1xuICAgIH1cblxuICAgIGZpbGxlZCgpIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLnZhbHVlICE9IG51bGwgJiYgdGhpcy52YWx1ZS50b1N0cmluZygpLmxlbmd0aCA+IDApXG4gICAgfVxuXG4gICAgcHJvbXB0VGV4dCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvbXB0TGFiZWwgfHwgdGhpcy5nZXRUcmFuc2xhdGlvbihUcmFuc2xhdGlvbktleXMuUEFTU1dPUkRfUFJPTVBUKTtcbiAgICB9XG5cbiAgICB3ZWFrVGV4dCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMud2Vha0xhYmVsIHx8IHRoaXMuZ2V0VHJhbnNsYXRpb24oVHJhbnNsYXRpb25LZXlzLldFQUspO1xuICAgIH1cblxuICAgIG1lZGl1bVRleHQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm1lZGl1bUxhYmVsIHx8IHRoaXMuZ2V0VHJhbnNsYXRpb24oVHJhbnNsYXRpb25LZXlzLk1FRElVTSk7XG4gICAgfVxuXG4gICAgc3Ryb25nVGV4dCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3Ryb25nTGFiZWwgfHwgdGhpcy5nZXRUcmFuc2xhdGlvbihUcmFuc2xhdGlvbktleXMuU1RST05HKTtcbiAgICB9XG5cbiAgICByZXN0b3JlQXBwZW5kKCkge1xuICAgICAgICBpZiAodGhpcy5vdmVybGF5ICYmIHRoaXMuYXBwZW5kVG8pIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmFwcGVuZFRvID09PSAnYm9keScpXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0aGlzLm92ZXJsYXkpO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuYXBwZW5kVG8pLnJlbW92ZUNoaWxkKHRoaXMub3ZlcmxheSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dFR5cGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnVubWFza2VkID8gJ3RleHQnIDogJ3Bhc3N3b3JkJztcbiAgICB9XG5cbiAgICBnZXRUcmFuc2xhdGlvbihvcHRpb246IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWcuZ2V0VHJhbnNsYXRpb24ob3B0aW9uKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5yZXN0b3JlQXBwZW5kKCk7XG4gICAgICAgIHRoaXMudW5iaW5kUmVzaXplTGlzdGVuZXIoKTtcbiAgICAgICAgaWYgKHRoaXMuc2Nyb2xsSGFuZGxlcikge1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxIYW5kbGVyLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsSGFuZGxlciA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSW5wdXRUZXh0TW9kdWxlXSxcbiAgICBleHBvcnRzOiBbUGFzc3dvcmREaXJlY3RpdmUsIFBhc3N3b3JkLCBTaGFyZWRNb2R1bGVdLFxuICAgIGRlY2xhcmF0aW9uczogW1Bhc3N3b3JkRGlyZWN0aXZlLCBQYXNzd29yZF1cbn0pXG5leHBvcnQgY2xhc3MgUGFzc3dvcmRNb2R1bGUgeyB9XG4iXX0=
|
@@ -2,4 +2,4 @@
|
|
2
2
|
* Generated bundle index. Do not edit.
|
3
3
|
*/
|
4
4
|
export * from './public_api';
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWVuZy1wYXNzd29yZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9wYXNzd29yZC9wcmltZW5nLXBhc3N3b3JkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
|
@@ -1,2 +1,2 @@
|
|
1
1
|
export * from './password';
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9wYXNzd29yZC9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wYXNzd29yZCc7Il19
|