@simpleangularcontrols/sac-common 13.0.0-rc.2 → 13.0.0-rc.21
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 +15 -15
- package/common/basedatetimecontrol.d.ts +176 -86
- package/common/basedatetimecontrol.d.ts.map +1 -1
- package/common/basedatetimecontrol.ngfactory.d.ts +3 -3
- package/common/basedatetimecontrol.ngsummary.d.ts +1 -1
- package/common/baseinputcontrol.d.ts +41 -45
- package/common/baseinputcontrol.d.ts.map +1 -1
- package/common/baseinputcontrol.ngfactory.d.ts +3 -3
- package/common/baseinputcontrol.ngsummary.d.ts +1 -1
- package/common/baselistcontrol.d.ts +46 -46
- package/common/baselistcontrol.ngfactory.d.ts +3 -3
- package/common/baselistcontrol.ngsummary.d.ts +1 -1
- package/common/basemodelcontrol.d.ts +287 -200
- package/common/basemodelcontrol.d.ts.map +1 -1
- package/common/basemodelcontrol.ngfactory.d.ts +3 -3
- package/common/basemodelcontrol.ngsummary.d.ts +1 -1
- package/common/baseselectcontrol.d.ts +17 -17
- package/common/baseselectcontrol.ngfactory.d.ts +3 -3
- package/common/baseselectcontrol.ngsummary.d.ts +1 -1
- package/common/baseuploadcontrol.d.ts +307 -287
- package/common/baseuploadcontrol.d.ts.map +1 -1
- package/common/baseuploadcontrol.ngfactory.d.ts +3 -3
- package/common/baseuploadcontrol.ngsummary.d.ts +1 -1
- package/components/browser/browser.d.ts +270 -265
- package/components/browser/browser.d.ts.map +1 -1
- package/components/browser/browser.ngfactory.d.ts +3 -3
- package/components/browser/browser.ngsummary.d.ts +1 -1
- package/components/browser/models/browserfile.d.ts +17 -17
- package/components/browser/models/browserfile.ngfactory.d.ts +1 -1
- package/components/browser/models/browserfile.ngsummary.d.ts +1 -1
- package/components/browser/models/browserfiledeleterequest.d.ts +18 -18
- package/components/browser/models/browserfiledeleterequest.ngfactory.d.ts +1 -1
- package/components/browser/models/browserfiledeleterequest.ngsummary.d.ts +1 -1
- package/components/browser/models/browserfilerenamerequest.d.ts +22 -22
- package/components/browser/models/browserfilerenamerequest.ngfactory.d.ts +1 -1
- package/components/browser/models/browserfilerenamerequest.ngsummary.d.ts +1 -1
- package/components/browser/models/browserfileresponse.d.ts +10 -10
- package/components/browser/models/browserfileresponse.ngfactory.d.ts +1 -1
- package/components/browser/models/browserfileresponse.ngsummary.d.ts +1 -1
- package/components/browser/models/browserfilesaverequest.d.ts +22 -22
- package/components/browser/models/browserfilesaverequest.ngfactory.d.ts +1 -1
- package/components/browser/models/browserfilesaverequest.ngsummary.d.ts +1 -1
- package/components/browser/models/browsernode.d.ts +34 -34
- package/components/browser/models/browsernode.ngfactory.d.ts +1 -1
- package/components/browser/models/browsernode.ngsummary.d.ts +1 -1
- package/components/browser/models/browsernodedeleterequest.d.ts +14 -14
- package/components/browser/models/browsernodedeleterequest.ngfactory.d.ts +1 -1
- package/components/browser/models/browsernodedeleterequest.ngsummary.d.ts +1 -1
- package/components/browser/models/browsernodenewrequest.d.ts +18 -18
- package/components/browser/models/browsernodenewrequest.ngfactory.d.ts +1 -1
- package/components/browser/models/browsernodenewrequest.ngsummary.d.ts +1 -1
- package/components/browser/models/browsernoderenamerequest.d.ts +18 -18
- package/components/browser/models/browsernoderenamerequest.ngfactory.d.ts +1 -1
- package/components/browser/models/browsernoderenamerequest.ngsummary.d.ts +1 -1
- package/components/browser/models/browsernoderequest.d.ts +18 -18
- package/components/browser/models/browsernoderequest.ngfactory.d.ts +1 -1
- package/components/browser/models/browsernoderequest.ngsummary.d.ts +1 -1
- package/components/browser/models/browsernoderesponse.d.ts +10 -10
- package/components/browser/models/browsernoderesponse.ngfactory.d.ts +1 -1
- package/components/browser/models/browsernoderesponse.ngsummary.d.ts +1 -1
- package/controls/buttons/button.d.ts +77 -72
- package/controls/buttons/button.d.ts.map +1 -1
- package/controls/buttons/button.ngfactory.d.ts +3 -3
- package/controls/buttons/button.ngsummary.d.ts +1 -1
- package/controls/checkbox/checkbox.d.ts +35 -22
- package/controls/checkbox/checkbox.d.ts.map +1 -1
- package/controls/checkbox/checkbox.ngfactory.d.ts +3 -3
- package/controls/checkbox/checkbox.ngsummary.d.ts +1 -1
- package/controls/checkbox/radiobutton.d.ts +117 -73
- package/controls/checkbox/radiobutton.d.ts.map +1 -1
- package/controls/checkbox/radiobutton.ngfactory.d.ts +3 -3
- package/controls/checkbox/radiobutton.ngsummary.d.ts +1 -1
- package/controls/checkbox/radiobuttons.d.ts +63 -62
- package/controls/checkbox/radiobuttons.d.ts.map +1 -1
- package/controls/checkbox/radiobuttons.ngfactory.d.ts +3 -3
- package/controls/checkbox/radiobuttons.ngsummary.d.ts +1 -1
- package/controls/confirm/confirm.button.d.ts +25 -19
- package/controls/confirm/confirm.button.d.ts.map +1 -1
- package/controls/confirm/confirm.button.ngfactory.d.ts +1 -1
- package/controls/confirm/confirm.button.ngsummary.d.ts +1 -1
- package/controls/confirm/confirm.d.ts +52 -52
- package/controls/confirm/confirm.d.ts.map +1 -1
- package/controls/confirm/confirm.ngfactory.d.ts +3 -3
- package/controls/confirm/confirm.ngsummary.d.ts +1 -1
- package/controls/confirm/confirm.service.d.ts +63 -58
- package/controls/confirm/confirm.service.d.ts.map +1 -1
- package/controls/confirm/confirm.service.ngfactory.d.ts +1 -1
- package/controls/confirm/confirm.service.ngsummary.d.ts +1 -1
- package/controls/contextmenu/contextmenu.d.ts +131 -116
- package/controls/contextmenu/contextmenu.d.ts.map +1 -1
- package/controls/contextmenu/contextmenu.interface.d.ts +4 -0
- package/controls/contextmenu/contextmenu.interface.d.ts.map +1 -0
- package/controls/contextmenu/contextmenu.interface.ngfactory.d.ts +2 -0
- package/controls/contextmenu/contextmenu.interface.ngfactory.d.ts.map +1 -0
- package/controls/contextmenu/contextmenu.interface.ngsummary.d.ts +2 -0
- package/controls/contextmenu/contextmenu.interface.ngsummary.d.ts.map +1 -0
- package/controls/contextmenu/contextmenu.ngfactory.d.ts +3 -3
- package/controls/contextmenu/contextmenu.ngsummary.d.ts +1 -1
- package/controls/contextmenu/contextmenuanchor.d.ts +18 -18
- package/controls/contextmenu/contextmenuanchor.d.ts.map +1 -1
- package/controls/contextmenu/contextmenuanchor.ngfactory.d.ts +3 -3
- package/controls/contextmenu/contextmenuanchor.ngsummary.d.ts +1 -1
- package/controls/contextmenu/contextmenucontainer.d.ts +18 -18
- package/controls/contextmenu/contextmenucontainer.d.ts.map +1 -1
- package/controls/contextmenu/contextmenucontainer.ngfactory.d.ts +3 -3
- package/controls/contextmenu/contextmenucontainer.ngsummary.d.ts +1 -1
- package/controls/contextmenu/contextmenuitem.d.ts +13 -8
- package/controls/contextmenu/contextmenuitem.d.ts.map +1 -1
- package/controls/contextmenu/contextmenuitem.ngfactory.d.ts +3 -3
- package/controls/contextmenu/contextmenuitem.ngsummary.d.ts +1 -1
- package/controls/contextmenu/contextmenuitembutton.d.ts +70 -69
- package/controls/contextmenu/contextmenuitembutton.d.ts.map +1 -1
- package/controls/contextmenu/contextmenuitembutton.ngfactory.d.ts +3 -3
- package/controls/contextmenu/contextmenuitembutton.ngsummary.d.ts +1 -1
- package/controls/datetime/date.d.ts +120 -123
- package/controls/datetime/date.d.ts.map +1 -1
- package/controls/datetime/date.ngfactory.d.ts +3 -3
- package/controls/datetime/date.ngsummary.d.ts +1 -1
- package/controls/datetime/dateselector.d.ts +172 -164
- package/controls/datetime/dateselector.d.ts.map +1 -1
- package/controls/datetime/dateselector.ngfactory.d.ts +3 -3
- package/controls/datetime/dateselector.ngsummary.d.ts +1 -1
- package/controls/datetime/datetime.d.ts +131 -138
- package/controls/datetime/datetime.d.ts.map +1 -1
- package/controls/datetime/datetime.ngfactory.d.ts +3 -3
- package/controls/datetime/datetime.ngsummary.d.ts +1 -1
- package/controls/datetime/time.d.ts +114 -118
- package/controls/datetime/time.d.ts.map +1 -1
- package/controls/datetime/time.ngfactory.d.ts +3 -3
- package/controls/datetime/time.ngsummary.d.ts +1 -1
- package/controls/dialog/dialog.d.ts +100 -108
- package/controls/dialog/dialog.d.ts.map +1 -1
- package/controls/dialog/dialog.ngfactory.d.ts +3 -3
- package/controls/dialog/dialog.ngsummary.d.ts +1 -1
- package/controls/form/form.d.ts +50 -86
- package/controls/form/form.d.ts.map +1 -1
- package/controls/form/form.ngfactory.d.ts +3 -3
- package/controls/form/form.ngsummary.d.ts +1 -1
- package/controls/grid/grid.d.ts +134 -125
- package/controls/grid/grid.d.ts.map +1 -1
- package/controls/grid/grid.ngfactory.d.ts +3 -3
- package/controls/grid/grid.ngsummary.d.ts +1 -1
- package/controls/grid/gridbutton.d.ts +55 -36
- package/controls/grid/gridbutton.d.ts.map +1 -1
- package/controls/grid/gridbutton.ngfactory.d.ts +3 -3
- package/controls/grid/gridbutton.ngsummary.d.ts +1 -1
- package/controls/grid/gridcolumn.d.ts +31 -31
- package/controls/grid/gridcolumn.d.ts.map +1 -1
- package/controls/grid/gridcolumn.ngfactory.d.ts +3 -3
- package/controls/grid/gridcolumn.ngsummary.d.ts +1 -1
- package/controls/grid/gridcolumnaction.d.ts +18 -18
- package/controls/grid/gridcolumnaction.d.ts.map +1 -1
- package/controls/grid/gridcolumnaction.ngfactory.d.ts +3 -3
- package/controls/grid/gridcolumnaction.ngsummary.d.ts +1 -1
- package/controls/grid/gridcolumnbase.d.ts +113 -89
- package/controls/grid/gridcolumnbase.d.ts.map +1 -1
- package/controls/grid/gridcolumnbase.ngfactory.d.ts +3 -3
- package/controls/grid/gridcolumnbase.ngsummary.d.ts +1 -1
- package/controls/grid/gridimage.d.ts +12 -12
- package/controls/grid/gridimage.d.ts.map +1 -1
- package/controls/grid/gridimage.ngfactory.d.ts +3 -3
- package/controls/grid/gridimage.ngsummary.d.ts +1 -1
- package/controls/grid/model.d.ts +92 -83
- package/controls/grid/model.d.ts.map +1 -1
- package/controls/grid/model.ngfactory.d.ts +1 -1
- package/controls/grid/model.ngsummary.d.ts +1 -1
- package/controls/grid/paging.d.ts +152 -147
- package/controls/grid/paging.d.ts.map +1 -1
- package/controls/grid/paging.ngfactory.d.ts +3 -3
- package/controls/grid/paging.ngsummary.d.ts +1 -1
- package/controls/input/input.d.ts +38 -38
- package/controls/input/input.d.ts.map +1 -1
- package/controls/input/input.ngfactory.d.ts +3 -3
- package/controls/input/input.ngsummary.d.ts +1 -1
- package/controls/input/inputarea.d.ts +29 -29
- package/controls/input/inputarea.d.ts.map +1 -1
- package/controls/input/inputarea.ngfactory.d.ts +3 -3
- package/controls/input/inputarea.ngsummary.d.ts +1 -1
- package/controls/input/inputcurrency.d.ts +14 -9
- package/controls/input/inputcurrency.d.ts.map +1 -1
- package/controls/input/inputcurrency.ngfactory.d.ts +3 -3
- package/controls/input/inputcurrency.ngsummary.d.ts +1 -1
- package/controls/input/inputdecimal.d.ts +62 -62
- package/controls/input/inputdecimal.d.ts.map +1 -1
- package/controls/input/inputdecimal.ngfactory.d.ts +3 -3
- package/controls/input/inputdecimal.ngsummary.d.ts +1 -1
- package/controls/input/inputemail.d.ts +22 -22
- package/controls/input/inputemail.d.ts.map +1 -1
- package/controls/input/inputemail.ngfactory.d.ts +3 -3
- package/controls/input/inputemail.ngsummary.d.ts +1 -1
- package/controls/input/inputinteger.d.ts +62 -62
- package/controls/input/inputinteger.d.ts.map +1 -1
- package/controls/input/inputinteger.ngfactory.d.ts +3 -3
- package/controls/input/inputinteger.ngsummary.d.ts +1 -1
- package/controls/input/inputpassword.d.ts +46 -26
- package/controls/input/inputpassword.d.ts.map +1 -1
- package/controls/input/inputpassword.ngfactory.d.ts +3 -3
- package/controls/input/inputpassword.ngsummary.d.ts +1 -1
- package/controls/input/inputsearch.d.ts +35 -26
- package/controls/input/inputsearch.d.ts.map +1 -1
- package/controls/input/inputsearch.ngfactory.d.ts +3 -3
- package/controls/input/inputsearch.ngsummary.d.ts +1 -1
- package/controls/layout/formlayout.d.ts +66 -0
- package/controls/layout/formlayout.d.ts.map +1 -0
- package/controls/layout/formlayout.ngfactory.d.ts +4 -0
- package/controls/layout/formlayout.ngfactory.d.ts.map +1 -0
- package/controls/layout/formlayout.ngsummary.d.ts +2 -0
- package/controls/layout/formlayout.ngsummary.d.ts.map +1 -0
- package/controls/list/buildvaluestring.d.ts +7 -0
- package/controls/list/buildvaluestring.d.ts.map +1 -0
- package/controls/list/buildvaluestring.ngfactory.d.ts +2 -0
- package/controls/list/buildvaluestring.ngfactory.d.ts.map +1 -0
- package/controls/list/buildvaluestring.ngsummary.d.ts +2 -0
- package/controls/list/buildvaluestring.ngsummary.d.ts.map +1 -0
- package/controls/list/dropdown.d.ts +99 -143
- package/controls/list/dropdown.d.ts.map +1 -1
- package/controls/list/dropdown.ngfactory.d.ts +3 -4
- package/controls/list/dropdown.ngfactory.d.ts.map +1 -1
- package/controls/list/dropdown.ngsummary.d.ts +1 -2
- package/controls/list/dropdown.ngsummary.d.ts.map +1 -1
- package/controls/list/dropdownoptions.d.ts +42 -0
- package/controls/list/dropdownoptions.d.ts.map +1 -0
- package/controls/list/dropdownoptions.ngfactory.d.ts +4 -0
- package/controls/list/dropdownoptions.ngfactory.d.ts.map +1 -0
- package/controls/list/dropdownoptions.ngsummary.d.ts +2 -0
- package/controls/list/dropdownoptions.ngsummary.d.ts.map +1 -0
- package/controls/list/list.module.d.ts +6 -6
- package/controls/list/list.module.d.ts.map +1 -1
- package/controls/list/list.module.ngfactory.d.ts +3 -3
- package/controls/list/list.module.ngsummary.d.ts +1 -1
- package/controls/list/listbox.d.ts +91 -91
- package/controls/list/listbox.d.ts.map +1 -1
- package/controls/list/listbox.ngfactory.d.ts +4 -4
- package/controls/list/listbox.ngsummary.d.ts +2 -2
- package/controls/multilanguage/multilanguageinput.d.ts +105 -104
- package/controls/multilanguage/multilanguageinput.d.ts.map +1 -1
- package/controls/multilanguage/multilanguageinput.ngfactory.d.ts +3 -3
- package/controls/multilanguage/multilanguageinput.ngsummary.d.ts +1 -1
- package/controls/multilanguage/multilanguageinputarea.d.ts +110 -109
- package/controls/multilanguage/multilanguageinputarea.d.ts.map +1 -1
- package/controls/multilanguage/multilanguageinputarea.ngfactory.d.ts +3 -3
- package/controls/multilanguage/multilanguageinputarea.ngsummary.d.ts +1 -1
- package/controls/static/formcontainer.d.ts +38 -34
- package/controls/static/formcontainer.d.ts.map +1 -1
- package/controls/static/formcontainer.ngfactory.d.ts +3 -3
- package/controls/static/formcontainer.ngsummary.d.ts +1 -1
- package/controls/static/staticlabel.d.ts +21 -21
- package/controls/static/staticlabel.d.ts.map +1 -1
- package/controls/static/staticlabel.ngfactory.d.ts +3 -3
- package/controls/static/staticlabel.ngsummary.d.ts +1 -1
- package/controls/tabs/tab.d.ts +52 -48
- package/controls/tabs/tab.d.ts.map +1 -1
- package/controls/tabs/tab.ngfactory.d.ts +3 -3
- package/controls/tabs/tab.ngsummary.d.ts +1 -1
- package/controls/tabs/tabitem.d.ts +33 -33
- package/controls/tabs/tabitem.d.ts.map +1 -1
- package/controls/tabs/tabitem.ngfactory.d.ts +3 -3
- package/controls/tabs/tabitem.ngsummary.d.ts +1 -1
- package/controls/tinymce/tinymce.d.ts +156 -152
- package/controls/tinymce/tinymce.d.ts.map +1 -1
- package/controls/tinymce/tinymce.ngfactory.d.ts +3 -3
- package/controls/tinymce/tinymce.ngsummary.d.ts +1 -1
- package/controls/tinymce/tinymcedialogsettings.d.ts +27 -27
- package/controls/tinymce/tinymcedialogsettings.d.ts.map +1 -1
- package/controls/tinymce/tinymcedialogsettings.ngfactory.d.ts +1 -1
- package/controls/tinymce/tinymcedialogsettings.ngsummary.d.ts +1 -1
- package/controls/tinymce/tinymcedialogsettingsmeta.d.ts +9 -9
- package/controls/tinymce/tinymcedialogsettingsmeta.d.ts.map +1 -1
- package/controls/tinymce/tinymcedialogsettingsmeta.ngfactory.d.ts +1 -1
- package/controls/tinymce/tinymcedialogsettingsmeta.ngsummary.d.ts +1 -1
- package/controls/tinymce/tinymceinstance.d.ts +10 -10
- package/controls/tinymce/tinymceinstance.d.ts.map +1 -1
- package/controls/tinymce/tinymceinstance.ngfactory.d.ts +1 -1
- package/controls/tinymce/tinymceinstance.ngsummary.d.ts +1 -1
- package/controls/tooltip/tooltip.d.ts +156 -141
- package/controls/tooltip/tooltip.d.ts.map +1 -1
- package/controls/tooltip/tooltip.ngfactory.d.ts +3 -3
- package/controls/tooltip/tooltip.ngsummary.d.ts +1 -1
- package/controls/treeview/treeview.d.ts +188 -188
- package/controls/treeview/treeview.d.ts.map +1 -1
- package/controls/treeview/treeview.ngfactory.d.ts +3 -3
- package/controls/treeview/treeview.ngsummary.d.ts +1 -1
- package/controls/upload/dropzonemultiple.d.ts +77 -73
- package/controls/upload/dropzonemultiple.d.ts.map +1 -1
- package/controls/upload/dropzonemultiple.ngfactory.d.ts +3 -3
- package/controls/upload/dropzonemultiple.ngsummary.d.ts +1 -1
- package/controls/upload/dropzonesingle.d.ts +54 -50
- package/controls/upload/dropzonesingle.d.ts.map +1 -1
- package/controls/upload/dropzonesingle.ngfactory.d.ts +3 -3
- package/controls/upload/dropzonesingle.ngsummary.d.ts +1 -1
- package/controls/upload/uploadmultiple.d.ts +57 -53
- package/controls/upload/uploadmultiple.d.ts.map +1 -1
- package/controls/upload/uploadmultiple.ngfactory.d.ts +3 -3
- package/controls/upload/uploadmultiple.ngsummary.d.ts +1 -1
- package/controls/upload/uploadsingle.d.ts +34 -30
- package/controls/upload/uploadsingle.d.ts.map +1 -1
- package/controls/upload/uploadsingle.ngfactory.d.ts +3 -3
- package/controls/upload/uploadsingle.ngsummary.d.ts +1 -1
- package/controls/validation/validationsummary.d.ts +67 -58
- package/controls/validation/validationsummary.d.ts.map +1 -1
- package/controls/validation/validationsummary.ngfactory.d.ts +3 -3
- package/controls/validation/validationsummary.ngsummary.d.ts +1 -1
- package/controls/wizard/wizard.d.ts +76 -76
- package/controls/wizard/wizard.d.ts.map +1 -1
- package/controls/wizard/wizard.ngfactory.d.ts +3 -3
- package/controls/wizard/wizard.ngsummary.d.ts +1 -1
- package/controls/wizard/wizarditem.d.ts +28 -28
- package/controls/wizard/wizarditem.d.ts.map +1 -1
- package/controls/wizard/wizarditem.ngfactory.d.ts +3 -3
- package/controls/wizard/wizarditem.ngsummary.d.ts +1 -1
- package/enums/ButtonRoleType.d.ts +2 -0
- package/enums/ButtonRoleType.d.ts.map +1 -0
- package/enums/ButtonRoleType.ngfactory.d.ts +2 -0
- package/enums/ButtonRoleType.ngfactory.d.ts.map +1 -0
- package/enums/ButtonRoleType.ngsummary.d.ts +2 -0
- package/enums/ButtonRoleType.ngsummary.d.ts.map +1 -0
- package/enums/ControlHeight.d.ts +18 -0
- package/enums/ControlHeight.d.ts.map +1 -0
- package/enums/ControlHeight.ngfactory.d.ts +2 -0
- package/enums/ControlHeight.ngfactory.d.ts.map +1 -0
- package/enums/ControlHeight.ngsummary.d.ts +2 -0
- package/enums/ControlHeight.ngsummary.d.ts.map +1 -0
- package/enums/IconType.d.ts +7 -7
- package/enums/IconType.ngfactory.d.ts +1 -1
- package/enums/IconType.ngsummary.d.ts +1 -1
- package/esm2020/common/basedatetimecontrol.mjs +93 -173
- package/esm2020/common/basedatetimecontrol.ngfactory.mjs +3 -4
- package/esm2020/common/basedatetimecontrol.ngsummary.mjs +3 -2
- package/esm2020/common/baseinputcontrol.mjs +27 -85
- package/esm2020/common/baseinputcontrol.ngfactory.mjs +3 -4
- package/esm2020/common/baseinputcontrol.ngsummary.mjs +3 -2
- package/esm2020/common/baselistcontrol.mjs +19 -63
- package/esm2020/common/baselistcontrol.ngfactory.mjs +3 -4
- package/esm2020/common/baselistcontrol.ngsummary.mjs +3 -2
- package/esm2020/common/basemodelcontrol.mjs +151 -367
- package/esm2020/common/basemodelcontrol.ngfactory.mjs +3 -4
- package/esm2020/common/basemodelcontrol.ngsummary.mjs +3 -2
- package/esm2020/common/baseselectcontrol.mjs +9 -29
- package/esm2020/common/baseselectcontrol.ngfactory.mjs +3 -4
- package/esm2020/common/baseselectcontrol.ngsummary.mjs +3 -2
- package/esm2020/common/baseuploadcontrol.mjs +148 -460
- package/esm2020/common/baseuploadcontrol.ngfactory.mjs +3 -4
- package/esm2020/common/baseuploadcontrol.ngsummary.mjs +3 -2
- package/esm2020/components/browser/browser.mjs +146 -553
- package/esm2020/components/browser/browser.ngfactory.mjs +3 -4
- package/esm2020/components/browser/browser.ngsummary.mjs +3 -2
- package/esm2020/components/browser/models/browserfile.mjs +3 -2
- package/esm2020/components/browser/models/browserfile.ngfactory.mjs +3 -2
- package/esm2020/components/browser/models/browserfile.ngsummary.mjs +3 -2
- package/esm2020/components/browser/models/browserfiledeleterequest.mjs +8 -13
- package/esm2020/components/browser/models/browserfiledeleterequest.ngfactory.mjs +3 -2
- package/esm2020/components/browser/models/browserfiledeleterequest.ngsummary.mjs +3 -2
- package/esm2020/components/browser/models/browserfilerenamerequest.mjs +8 -13
- package/esm2020/components/browser/models/browserfilerenamerequest.ngfactory.mjs +3 -2
- package/esm2020/components/browser/models/browserfilerenamerequest.ngsummary.mjs +3 -2
- package/esm2020/components/browser/models/browserfileresponse.mjs +3 -2
- package/esm2020/components/browser/models/browserfileresponse.ngfactory.mjs +3 -2
- package/esm2020/components/browser/models/browserfileresponse.ngsummary.mjs +3 -2
- package/esm2020/components/browser/models/browserfilesaverequest.mjs +8 -13
- package/esm2020/components/browser/models/browserfilesaverequest.ngfactory.mjs +3 -2
- package/esm2020/components/browser/models/browserfilesaverequest.ngsummary.mjs +3 -2
- package/esm2020/components/browser/models/browsernode.mjs +3 -2
- package/esm2020/components/browser/models/browsernode.ngfactory.mjs +3 -2
- package/esm2020/components/browser/models/browsernode.ngsummary.mjs +3 -2
- package/esm2020/components/browser/models/browsernodedeleterequest.mjs +8 -13
- package/esm2020/components/browser/models/browsernodedeleterequest.ngfactory.mjs +3 -2
- package/esm2020/components/browser/models/browsernodedeleterequest.ngsummary.mjs +3 -2
- package/esm2020/components/browser/models/browsernodenewrequest.mjs +8 -13
- package/esm2020/components/browser/models/browsernodenewrequest.ngfactory.mjs +3 -2
- package/esm2020/components/browser/models/browsernodenewrequest.ngsummary.mjs +3 -2
- package/esm2020/components/browser/models/browsernoderenamerequest.mjs +8 -13
- package/esm2020/components/browser/models/browsernoderenamerequest.ngfactory.mjs +3 -2
- package/esm2020/components/browser/models/browsernoderenamerequest.ngsummary.mjs +3 -2
- package/esm2020/components/browser/models/browsernoderequest.mjs +8 -13
- package/esm2020/components/browser/models/browsernoderequest.ngfactory.mjs +3 -2
- package/esm2020/components/browser/models/browsernoderequest.ngsummary.mjs +3 -2
- package/esm2020/components/browser/models/browsernoderesponse.mjs +3 -2
- package/esm2020/components/browser/models/browsernoderesponse.ngfactory.mjs +3 -2
- package/esm2020/components/browser/models/browsernoderesponse.ngsummary.mjs +3 -2
- package/esm2020/controls/buttons/button.mjs +47 -143
- package/esm2020/controls/buttons/button.ngfactory.mjs +3 -4
- package/esm2020/controls/buttons/button.ngsummary.mjs +3 -2
- package/esm2020/controls/checkbox/checkbox.mjs +17 -31
- package/esm2020/controls/checkbox/checkbox.ngfactory.mjs +3 -4
- package/esm2020/controls/checkbox/checkbox.ngsummary.mjs +3 -2
- package/esm2020/controls/checkbox/radiobutton.mjs +53 -109
- package/esm2020/controls/checkbox/radiobutton.ngfactory.mjs +3 -4
- package/esm2020/controls/checkbox/radiobutton.ngsummary.mjs +3 -2
- package/esm2020/controls/checkbox/radiobuttons.mjs +36 -112
- package/esm2020/controls/checkbox/radiobuttons.ngfactory.mjs +3 -4
- package/esm2020/controls/checkbox/radiobuttons.ngsummary.mjs +3 -2
- package/esm2020/controls/confirm/confirm.button.mjs +19 -23
- package/esm2020/controls/confirm/confirm.button.ngfactory.mjs +3 -2
- package/esm2020/controls/confirm/confirm.button.ngsummary.mjs +3 -2
- package/esm2020/controls/confirm/confirm.mjs +29 -80
- package/esm2020/controls/confirm/confirm.ngfactory.mjs +3 -4
- package/esm2020/controls/confirm/confirm.ngsummary.mjs +3 -2
- package/esm2020/controls/confirm/confirm.service.mjs +37 -82
- package/esm2020/controls/confirm/confirm.service.ngfactory.mjs +3 -2
- package/esm2020/controls/confirm/confirm.service.ngsummary.mjs +3 -2
- package/esm2020/controls/contextmenu/contextmenu.interface.mjs +3 -0
- package/esm2020/controls/contextmenu/contextmenu.interface.ngfactory.mjs +3 -0
- package/esm2020/controls/contextmenu/contextmenu.interface.ngsummary.mjs +3 -0
- package/esm2020/controls/contextmenu/contextmenu.mjs +68 -191
- package/esm2020/controls/contextmenu/contextmenu.ngfactory.mjs +3 -4
- package/esm2020/controls/contextmenu/contextmenu.ngsummary.mjs +3 -2
- package/esm2020/controls/contextmenu/contextmenuanchor.mjs +10 -20
- package/esm2020/controls/contextmenu/contextmenuanchor.ngfactory.mjs +3 -4
- package/esm2020/controls/contextmenu/contextmenuanchor.ngsummary.mjs +3 -2
- package/esm2020/controls/contextmenu/contextmenucontainer.mjs +10 -20
- package/esm2020/controls/contextmenu/contextmenucontainer.ngfactory.mjs +3 -4
- package/esm2020/controls/contextmenu/contextmenucontainer.ngsummary.mjs +3 -2
- package/esm2020/controls/contextmenu/contextmenuitem.mjs +8 -13
- package/esm2020/controls/contextmenu/contextmenuitem.ngfactory.mjs +3 -4
- package/esm2020/controls/contextmenu/contextmenuitem.ngsummary.mjs +3 -2
- package/esm2020/controls/contextmenu/contextmenuitembutton.mjs +36 -103
- package/esm2020/controls/contextmenu/contextmenuitembutton.ngfactory.mjs +3 -4
- package/esm2020/controls/contextmenu/contextmenuitembutton.ngsummary.mjs +3 -2
- package/esm2020/controls/datetime/date.mjs +55 -218
- package/esm2020/controls/datetime/date.ngfactory.mjs +3 -4
- package/esm2020/controls/datetime/date.ngsummary.mjs +3 -2
- package/esm2020/controls/datetime/dateselector.mjs +127 -462
- package/esm2020/controls/datetime/dateselector.ngfactory.mjs +3 -4
- package/esm2020/controls/datetime/dateselector.ngsummary.mjs +3 -2
- package/esm2020/controls/datetime/datetime.mjs +55 -236
- package/esm2020/controls/datetime/datetime.ngfactory.mjs +3 -4
- package/esm2020/controls/datetime/datetime.ngsummary.mjs +3 -2
- package/esm2020/controls/datetime/time.mjs +54 -217
- package/esm2020/controls/datetime/time.ngfactory.mjs +3 -4
- package/esm2020/controls/datetime/time.ngsummary.mjs +3 -2
- package/esm2020/controls/dialog/dialog.mjs +59 -221
- package/esm2020/controls/dialog/dialog.ngfactory.mjs +3 -4
- package/esm2020/controls/dialog/dialog.ngsummary.mjs +3 -2
- package/esm2020/controls/form/form.mjs +37 -163
- package/esm2020/controls/form/form.ngfactory.mjs +3 -4
- package/esm2020/controls/form/form.ngsummary.mjs +3 -2
- package/esm2020/controls/grid/grid.mjs +54 -156
- package/esm2020/controls/grid/grid.ngfactory.mjs +3 -4
- package/esm2020/controls/grid/grid.ngsummary.mjs +3 -2
- package/esm2020/controls/grid/gridbutton.mjs +31 -59
- package/esm2020/controls/grid/gridbutton.ngfactory.mjs +3 -4
- package/esm2020/controls/grid/gridbutton.ngsummary.mjs +3 -2
- package/esm2020/controls/grid/gridcolumn.mjs +22 -46
- package/esm2020/controls/grid/gridcolumn.ngfactory.mjs +3 -4
- package/esm2020/controls/grid/gridcolumn.ngsummary.mjs +3 -2
- package/esm2020/controls/grid/gridcolumnaction.mjs +11 -24
- package/esm2020/controls/grid/gridcolumnaction.ngfactory.mjs +3 -4
- package/esm2020/controls/grid/gridcolumnaction.ngsummary.mjs +3 -2
- package/esm2020/controls/grid/gridcolumnbase.mjs +44 -128
- package/esm2020/controls/grid/gridcolumnbase.ngfactory.mjs +3 -4
- package/esm2020/controls/grid/gridcolumnbase.ngsummary.mjs +3 -2
- package/esm2020/controls/grid/gridimage.mjs +5 -15
- package/esm2020/controls/grid/gridimage.ngfactory.mjs +3 -4
- package/esm2020/controls/grid/gridimage.ngsummary.mjs +3 -2
- package/esm2020/controls/grid/model.mjs +54 -79
- package/esm2020/controls/grid/model.ngfactory.mjs +3 -2
- package/esm2020/controls/grid/model.ngsummary.mjs +3 -2
- package/esm2020/controls/grid/paging.mjs +89 -253
- package/esm2020/controls/grid/paging.ngfactory.mjs +3 -4
- package/esm2020/controls/grid/paging.ngsummary.mjs +3 -2
- package/esm2020/controls/input/input.mjs +22 -69
- package/esm2020/controls/input/input.ngfactory.mjs +3 -4
- package/esm2020/controls/input/input.ngsummary.mjs +3 -2
- package/esm2020/controls/input/inputarea.mjs +21 -58
- package/esm2020/controls/input/inputarea.ngfactory.mjs +3 -4
- package/esm2020/controls/input/inputarea.ngsummary.mjs +3 -2
- package/esm2020/controls/input/inputcurrency.mjs +10 -14
- package/esm2020/controls/input/inputcurrency.ngfactory.mjs +3 -4
- package/esm2020/controls/input/inputcurrency.ngsummary.mjs +3 -2
- package/esm2020/controls/input/inputdecimal.mjs +41 -150
- package/esm2020/controls/input/inputdecimal.ngfactory.mjs +3 -4
- package/esm2020/controls/input/inputdecimal.ngsummary.mjs +3 -2
- package/esm2020/controls/input/inputemail.mjs +14 -40
- package/esm2020/controls/input/inputemail.ngfactory.mjs +3 -4
- package/esm2020/controls/input/inputemail.ngsummary.mjs +3 -2
- package/esm2020/controls/input/inputinteger.mjs +40 -134
- package/esm2020/controls/input/inputinteger.ngfactory.mjs +3 -4
- package/esm2020/controls/input/inputinteger.ngsummary.mjs +3 -2
- package/esm2020/controls/input/inputpassword.mjs +28 -46
- package/esm2020/controls/input/inputpassword.ngfactory.mjs +3 -4
- package/esm2020/controls/input/inputpassword.ngsummary.mjs +3 -2
- package/esm2020/controls/input/inputsearch.mjs +20 -41
- package/esm2020/controls/input/inputsearch.ngfactory.mjs +3 -4
- package/esm2020/controls/input/inputsearch.ngsummary.mjs +3 -2
- package/esm2020/controls/layout/formlayout.mjs +34 -0
- package/esm2020/controls/layout/formlayout.ngfactory.mjs +3 -0
- package/esm2020/controls/layout/formlayout.ngsummary.mjs +3 -0
- package/esm2020/controls/list/buildvaluestring.mjs +12 -0
- package/esm2020/controls/list/buildvaluestring.ngfactory.mjs +3 -0
- package/esm2020/controls/list/buildvaluestring.ngsummary.mjs +3 -0
- package/esm2020/controls/list/dropdown.mjs +69 -249
- package/esm2020/controls/list/dropdown.ngfactory.mjs +3 -4
- package/esm2020/controls/list/dropdown.ngsummary.mjs +3 -3
- package/esm2020/controls/list/dropdownoptions.mjs +29 -0
- package/esm2020/controls/list/dropdownoptions.ngfactory.mjs +3 -0
- package/esm2020/controls/list/dropdownoptions.ngsummary.mjs +3 -0
- package/esm2020/controls/list/list.module.mjs +3 -16
- package/esm2020/controls/list/list.module.ngfactory.mjs +3 -4
- package/esm2020/controls/list/list.module.ngsummary.mjs +3 -2
- package/esm2020/controls/list/listbox.mjs +58 -175
- package/esm2020/controls/list/listbox.ngfactory.mjs +3 -4
- package/esm2020/controls/list/listbox.ngsummary.mjs +3 -3
- package/esm2020/controls/multilanguage/multilanguageinput.mjs +62 -228
- package/esm2020/controls/multilanguage/multilanguageinput.ngfactory.mjs +3 -4
- package/esm2020/controls/multilanguage/multilanguageinput.ngsummary.mjs +3 -2
- package/esm2020/controls/multilanguage/multilanguageinputarea.mjs +65 -230
- package/esm2020/controls/multilanguage/multilanguageinputarea.ngfactory.mjs +3 -4
- package/esm2020/controls/multilanguage/multilanguageinputarea.ngsummary.mjs +3 -2
- package/esm2020/controls/static/formcontainer.mjs +27 -53
- package/esm2020/controls/static/formcontainer.ngfactory.mjs +3 -4
- package/esm2020/controls/static/formcontainer.ngsummary.mjs +3 -2
- package/esm2020/controls/static/staticlabel.mjs +16 -33
- package/esm2020/controls/static/staticlabel.ngfactory.mjs +3 -4
- package/esm2020/controls/static/staticlabel.ngsummary.mjs +3 -2
- package/esm2020/controls/tabs/tab.mjs +29 -77
- package/esm2020/controls/tabs/tab.ngfactory.mjs +3 -4
- package/esm2020/controls/tabs/tab.ngsummary.mjs +3 -2
- package/esm2020/controls/tabs/tabitem.mjs +12 -40
- package/esm2020/controls/tabs/tabitem.ngfactory.mjs +3 -4
- package/esm2020/controls/tabs/tabitem.ngsummary.mjs +3 -2
- package/esm2020/controls/tinymce/tinymce.mjs +82 -249
- package/esm2020/controls/tinymce/tinymce.ngfactory.mjs +3 -4
- package/esm2020/controls/tinymce/tinymce.ngsummary.mjs +3 -2
- package/esm2020/controls/tinymce/tinymcedialogsettings.mjs +10 -13
- package/esm2020/controls/tinymce/tinymcedialogsettings.ngfactory.mjs +3 -2
- package/esm2020/controls/tinymce/tinymcedialogsettings.ngsummary.mjs +3 -2
- package/esm2020/controls/tinymce/tinymcedialogsettingsmeta.mjs +3 -5
- package/esm2020/controls/tinymce/tinymcedialogsettingsmeta.ngfactory.mjs +3 -2
- package/esm2020/controls/tinymce/tinymcedialogsettingsmeta.ngsummary.mjs +3 -2
- package/esm2020/controls/tinymce/tinymceinstance.mjs +3 -2
- package/esm2020/controls/tinymce/tinymceinstance.ngfactory.mjs +3 -2
- package/esm2020/controls/tinymce/tinymceinstance.ngsummary.mjs +3 -2
- package/esm2020/controls/tooltip/tooltip.mjs +86 -365
- package/esm2020/controls/tooltip/tooltip.ngfactory.mjs +3 -4
- package/esm2020/controls/tooltip/tooltip.ngsummary.mjs +3 -2
- package/esm2020/controls/treeview/treeview.mjs +104 -343
- package/esm2020/controls/treeview/treeview.ngfactory.mjs +3 -4
- package/esm2020/controls/treeview/treeview.ngsummary.mjs +3 -2
- package/esm2020/controls/upload/dropzonemultiple.mjs +50 -165
- package/esm2020/controls/upload/dropzonemultiple.ngfactory.mjs +3 -4
- package/esm2020/controls/upload/dropzonemultiple.ngsummary.mjs +3 -2
- package/esm2020/controls/upload/dropzonesingle.mjs +35 -106
- package/esm2020/controls/upload/dropzonesingle.ngfactory.mjs +3 -4
- package/esm2020/controls/upload/dropzonesingle.ngsummary.mjs +3 -2
- package/esm2020/controls/upload/uploadmultiple.mjs +39 -124
- package/esm2020/controls/upload/uploadmultiple.ngfactory.mjs +3 -4
- package/esm2020/controls/upload/uploadmultiple.ngsummary.mjs +3 -2
- package/esm2020/controls/upload/uploadsingle.mjs +24 -58
- package/esm2020/controls/upload/uploadsingle.ngfactory.mjs +3 -4
- package/esm2020/controls/upload/uploadsingle.ngsummary.mjs +3 -2
- package/esm2020/controls/validation/validationsummary.mjs +33 -127
- package/esm2020/controls/validation/validationsummary.ngfactory.mjs +3 -4
- package/esm2020/controls/validation/validationsummary.ngsummary.mjs +3 -2
- package/esm2020/controls/wizard/wizard.mjs +41 -144
- package/esm2020/controls/wizard/wizard.ngfactory.mjs +3 -4
- package/esm2020/controls/wizard/wizard.ngsummary.mjs +3 -2
- package/esm2020/controls/wizard/wizarditem.mjs +9 -33
- package/esm2020/controls/wizard/wizarditem.ngfactory.mjs +3 -4
- package/esm2020/controls/wizard/wizarditem.ngsummary.mjs +3 -2
- package/esm2020/enums/ButtonRoleType.mjs +3 -0
- package/esm2020/enums/ButtonRoleType.ngfactory.mjs +3 -0
- package/esm2020/enums/ButtonRoleType.ngsummary.mjs +3 -0
- package/esm2020/enums/ControlHeight.mjs +11 -0
- package/esm2020/enums/ControlHeight.ngfactory.mjs +3 -0
- package/esm2020/enums/ControlHeight.ngsummary.mjs +3 -0
- package/esm2020/enums/IconType.mjs +5 -9
- package/esm2020/enums/IconType.ngfactory.mjs +3 -2
- package/esm2020/enums/IconType.ngsummary.mjs +3 -2
- package/esm2020/interfaces/ISacConfigurationService.mjs +3 -0
- package/esm2020/interfaces/ISacConfigurationService.ngfactory.mjs +3 -0
- package/esm2020/interfaces/ISacConfigurationService.ngsummary.mjs +3 -0
- package/esm2020/interfaces/ISacFileBrowserService.mjs +3 -2
- package/esm2020/interfaces/ISacFileBrowserService.ngfactory.mjs +3 -2
- package/esm2020/interfaces/ISacFileBrowserService.ngsummary.mjs +3 -2
- package/esm2020/interfaces/ISacIconService.mjs +3 -2
- package/esm2020/interfaces/ISacIconService.ngfactory.mjs +3 -2
- package/esm2020/interfaces/ISacIconService.ngsummary.mjs +3 -2
- package/esm2020/interfaces/ISacLabelSizes.mjs +3 -0
- package/esm2020/interfaces/ISacLabelSizes.ngfactory.mjs +3 -0
- package/esm2020/interfaces/ISacLabelSizes.ngsummary.mjs +3 -0
- package/esm2020/interfaces/ISacLanguageService.mjs +3 -2
- package/esm2020/interfaces/ISacLanguageService.ngfactory.mjs +3 -2
- package/esm2020/interfaces/ISacLanguageService.ngsummary.mjs +3 -2
- package/esm2020/interfaces/ISacLocalisationService.mjs +3 -2
- package/esm2020/interfaces/ISacLocalisationService.ngfactory.mjs +3 -2
- package/esm2020/interfaces/ISacLocalisationService.ngsummary.mjs +3 -2
- package/esm2020/interfaces/ISacUploadEventCompleteState.mjs +3 -0
- package/esm2020/interfaces/ISacUploadEventCompleteState.ngfactory.mjs +3 -0
- package/esm2020/interfaces/ISacUploadEventCompleteState.ngsummary.mjs +3 -0
- package/esm2020/interfaces/ISacValidationKeyService.mjs +3 -0
- package/esm2020/interfaces/ISacValidationKeyService.ngfactory.mjs +3 -0
- package/esm2020/interfaces/ISacValidationKeyService.ngsummary.mjs +3 -0
- package/esm2020/interfaces/iabstractcontrollabel.mjs +3 -2
- package/esm2020/interfaces/iabstractcontrollabel.ngfactory.mjs +3 -2
- package/esm2020/interfaces/iabstractcontrollabel.ngsummary.mjs +3 -2
- package/esm2020/interfaces/iconfirmcomponent.mjs +3 -2
- package/esm2020/interfaces/iconfirmcomponent.ngfactory.mjs +3 -2
- package/esm2020/interfaces/iconfirmcomponent.ngsummary.mjs +3 -2
- package/esm2020/interfaces/idatetimecontrol.mjs +3 -2
- package/esm2020/interfaces/idatetimecontrol.ngfactory.mjs +3 -2
- package/esm2020/interfaces/idatetimecontrol.ngsummary.mjs +3 -2
- package/esm2020/interfaces/iuploadcontrol.mjs +3 -2
- package/esm2020/interfaces/iuploadcontrol.ngfactory.mjs +3 -2
- package/esm2020/interfaces/iuploadcontrol.ngsummary.mjs +3 -2
- package/esm2020/interfaces/treeviewaction.interface.mjs +3 -0
- package/esm2020/interfaces/treeviewaction.interface.ngfactory.mjs +3 -0
- package/esm2020/interfaces/treeviewaction.interface.ngsummary.mjs +3 -0
- package/esm2020/models/languagemodel.mjs +7 -13
- package/esm2020/models/languagemodel.ngfactory.mjs +3 -2
- package/esm2020/models/languagemodel.ngsummary.mjs +3 -2
- package/esm2020/public_api.mjs +27 -96
- package/esm2020/public_api.ngfactory.mjs +3 -2
- package/esm2020/public_api.ngsummary.mjs +3 -2
- package/esm2020/services/index.mjs +3 -5
- package/esm2020/services/index.ngfactory.mjs +3 -2
- package/esm2020/services/index.ngsummary.mjs +3 -2
- package/esm2020/services/sac-configuration.service.mjs +41 -0
- package/esm2020/services/sac-configuration.service.ngfactory.mjs +3 -0
- package/esm2020/services/sac-configuration.service.ngsummary.mjs +3 -0
- package/esm2020/services/sac-filebrowser.service.mjs +53 -203
- package/esm2020/services/sac-filebrowser.service.ngfactory.mjs +3 -4
- package/esm2020/services/sac-filebrowser.service.ngsummary.mjs +3 -3
- package/esm2020/services/sac-icon.service.mjs +81 -159
- package/esm2020/services/sac-icon.service.ngfactory.mjs +3 -4
- package/esm2020/services/sac-icon.service.ngsummary.mjs +3 -3
- package/esm2020/services/sac-language.service.mjs +11 -47
- package/esm2020/services/sac-language.service.ngfactory.mjs +3 -4
- package/esm2020/services/sac-language.service.ngsummary.mjs +3 -3
- package/esm2020/services/sac-localisation.service.mjs +41 -433
- package/esm2020/services/sac-localisation.service.ngfactory.mjs +3 -4
- package/esm2020/services/sac-localisation.service.ngsummary.mjs +3 -3
- package/esm2020/services/sac-validationkey.service.mjs +7 -0
- package/esm2020/services/sac-validationkey.service.ngfactory.mjs +3 -0
- package/esm2020/services/sac-validationkey.service.ngsummary.mjs +3 -0
- package/esm2020/simpleangularcontrols-sac-common.mjs +5 -5
- package/esm2020/utilities/convertion.mjs +12 -32
- package/esm2020/utilities/convertion.ngfactory.mjs +3 -2
- package/esm2020/utilities/convertion.ngsummary.mjs +3 -2
- package/esm2020/utilities/datatypes.mjs +7 -9
- package/esm2020/utilities/datatypes.ngfactory.mjs +3 -2
- package/esm2020/utilities/datatypes.ngsummary.mjs +3 -2
- package/esm2020/utilities/enums.mjs +11 -16
- package/esm2020/utilities/enums.ngfactory.mjs +3 -2
- package/esm2020/utilities/enums.ngsummary.mjs +3 -2
- package/esm2020/utilities/guid.mjs +8 -0
- package/esm2020/utilities/guid.ngfactory.mjs +3 -0
- package/esm2020/utilities/guid.ngsummary.mjs +3 -0
- package/esm2020/utilities/interpolation.mjs +15 -50
- package/esm2020/utilities/interpolation.ngfactory.mjs +3 -2
- package/esm2020/utilities/interpolation.ngsummary.mjs +3 -2
- package/esm2020/utilities/popuphelper.mjs +80 -0
- package/esm2020/utilities/popuphelper.ngfactory.mjs +3 -0
- package/esm2020/utilities/popuphelper.ngsummary.mjs +3 -0
- package/esm2020/utilities/positioning.mjs +58 -301
- package/esm2020/utilities/positioning.ngfactory.mjs +3 -2
- package/esm2020/utilities/positioning.ngsummary.mjs +3 -2
- package/esm2020/utilities/testingattribute.pipe.mjs +12 -0
- package/esm2020/utilities/testingattribute.pipe.ngfactory.mjs +3 -0
- package/esm2020/utilities/testingattribute.pipe.ngsummary.mjs +3 -0
- package/esm2020/utilities/utilities.module.mjs +3 -0
- package/esm2020/utilities/utilities.module.ngfactory.mjs +3 -0
- package/esm2020/utilities/utilities.module.ngsummary.mjs +3 -0
- package/esm2020/validation/email.validator.mjs +3 -13
- package/esm2020/validation/email.validator.ngfactory.mjs +3 -2
- package/esm2020/validation/email.validator.ngsummary.mjs +3 -2
- package/esm2020/validation/equals.validator.mjs +3 -0
- package/esm2020/validation/equals.validator.ngfactory.mjs +3 -0
- package/esm2020/validation/equals.validator.ngsummary.mjs +3 -0
- package/esm2020/validation/index.mjs +3 -3
- package/esm2020/validation/index.ngfactory.mjs +3 -2
- package/esm2020/validation/index.ngsummary.mjs +3 -2
- package/esm2020/validation/invaliddate.validator.mjs +3 -14
- package/esm2020/validation/invaliddate.validator.ngfactory.mjs +3 -2
- package/esm2020/validation/invaliddate.validator.ngsummary.mjs +3 -2
- package/esm2020/validation/isDateValid.mjs +11 -15
- package/esm2020/validation/isDateValid.ngfactory.mjs +3 -2
- package/esm2020/validation/isDateValid.ngsummary.mjs +3 -2
- package/esm2020/validation/maxdate.validator.mjs +4 -21
- package/esm2020/validation/maxdate.validator.ngfactory.mjs +3 -2
- package/esm2020/validation/maxdate.validator.ngsummary.mjs +3 -2
- package/esm2020/validation/maxtime.validator.mjs +4 -21
- package/esm2020/validation/maxtime.validator.ngfactory.mjs +3 -2
- package/esm2020/validation/maxtime.validator.ngsummary.mjs +3 -2
- package/esm2020/validation/maxvalue.validator.mjs +3 -16
- package/esm2020/validation/maxvalue.validator.ngfactory.mjs +3 -2
- package/esm2020/validation/maxvalue.validator.ngsummary.mjs +3 -2
- package/esm2020/validation/mindate.validator.mjs +4 -21
- package/esm2020/validation/mindate.validator.ngfactory.mjs +3 -2
- package/esm2020/validation/mindate.validator.ngsummary.mjs +3 -2
- package/esm2020/validation/minfiles.validator.mjs +4 -19
- package/esm2020/validation/minfiles.validator.ngfactory.mjs +3 -2
- package/esm2020/validation/minfiles.validator.ngsummary.mjs +3 -2
- package/esm2020/validation/mintextlength.validator.mjs +5 -0
- package/esm2020/validation/mintextlength.validator.ngfactory.mjs +3 -0
- package/esm2020/validation/mintextlength.validator.ngsummary.mjs +3 -0
- package/esm2020/validation/mintime.validator.mjs +4 -21
- package/esm2020/validation/mintime.validator.ngfactory.mjs +3 -2
- package/esm2020/validation/mintime.validator.ngsummary.mjs +3 -2
- package/esm2020/validation/minvalue.validator.mjs +3 -16
- package/esm2020/validation/minvalue.validator.ngfactory.mjs +3 -2
- package/esm2020/validation/minvalue.validator.ngsummary.mjs +3 -2
- package/esm2020/validation/multilanguagerequired.validator.mjs +3 -22
- package/esm2020/validation/multilanguagerequired.validator.ngfactory.mjs +3 -2
- package/esm2020/validation/multilanguagerequired.validator.ngsummary.mjs +3 -2
- package/esm2020/validation/multilanguagerequiredany.validator.mjs +3 -22
- package/esm2020/validation/multilanguagerequiredany.validator.ngfactory.mjs +3 -2
- package/esm2020/validation/multilanguagerequiredany.validator.ngsummary.mjs +3 -2
- package/esm2020/validation/notequals.validator.mjs +3 -0
- package/esm2020/validation/notequals.validator.ngfactory.mjs +3 -0
- package/esm2020/validation/notequals.validator.ngsummary.mjs +3 -0
- package/esm2020/validation/pattern.validator.mjs +3 -16
- package/esm2020/validation/pattern.validator.ngfactory.mjs +3 -2
- package/esm2020/validation/pattern.validator.ngsummary.mjs +3 -2
- package/esm2020/validation/required.validator.mjs +3 -13
- package/esm2020/validation/required.validator.ngfactory.mjs +3 -2
- package/esm2020/validation/required.validator.ngsummary.mjs +3 -2
- package/esm2020/validation/validation.mjs +128 -188
- package/esm2020/validation/validation.ngfactory.mjs +3 -2
- package/esm2020/validation/validation.ngsummary.mjs +3 -2
- package/esm2020/validation/validationerrorcreator.mjs +3 -11
- package/esm2020/validation/validationerrorcreator.ngfactory.mjs +3 -2
- package/esm2020/validation/validationerrorcreator.ngsummary.mjs +3 -2
- package/esm2020/validation/validationerroritem.mjs +15 -27
- package/esm2020/validation/validationerroritem.ngfactory.mjs +3 -2
- package/esm2020/validation/validationerroritem.ngsummary.mjs +3 -2
- package/fesm2015/simpleangularcontrols-sac-common.mjs +3196 -9983
- package/fesm2015/simpleangularcontrols-sac-common.mjs.map +1 -1
- package/fesm2020/simpleangularcontrols-sac-common.mjs +3196 -9972
- package/fesm2020/simpleangularcontrols-sac-common.mjs.map +1 -1
- package/interfaces/ISacConfigurationService.d.ts +63 -0
- package/interfaces/ISacConfigurationService.d.ts.map +1 -0
- package/interfaces/ISacConfigurationService.ngfactory.d.ts +2 -0
- package/interfaces/ISacConfigurationService.ngfactory.d.ts.map +1 -0
- package/interfaces/ISacConfigurationService.ngsummary.d.ts +2 -0
- package/interfaces/ISacConfigurationService.ngsummary.d.ts.map +1 -0
- package/interfaces/ISacFileBrowserService.d.ts +65 -65
- package/interfaces/ISacFileBrowserService.ngfactory.d.ts +1 -1
- package/interfaces/ISacFileBrowserService.ngsummary.d.ts +1 -1
- package/interfaces/ISacIconService.d.ts +141 -89
- package/interfaces/ISacIconService.d.ts.map +1 -1
- package/interfaces/ISacIconService.ngfactory.d.ts +1 -1
- package/interfaces/ISacIconService.ngsummary.d.ts +1 -1
- package/interfaces/ISacLabelSizes.d.ts +27 -0
- package/interfaces/ISacLabelSizes.d.ts.map +1 -0
- package/interfaces/ISacLabelSizes.ngfactory.d.ts +2 -0
- package/interfaces/ISacLabelSizes.ngfactory.d.ts.map +1 -0
- package/interfaces/ISacLabelSizes.ngsummary.d.ts +2 -0
- package/interfaces/ISacLabelSizes.ngsummary.d.ts.map +1 -0
- package/interfaces/ISacLanguageService.d.ts +12 -12
- package/interfaces/ISacLanguageService.ngfactory.d.ts +1 -1
- package/interfaces/ISacLanguageService.ngsummary.d.ts +1 -1
- package/interfaces/ISacLocalisationService.d.ts +10 -10
- package/interfaces/ISacLocalisationService.ngfactory.d.ts +1 -1
- package/interfaces/ISacLocalisationService.ngsummary.d.ts +1 -1
- package/interfaces/ISacUploadEventCompleteState.d.ts +6 -0
- package/interfaces/ISacUploadEventCompleteState.d.ts.map +1 -0
- package/interfaces/ISacUploadEventCompleteState.ngfactory.d.ts +2 -0
- package/interfaces/ISacUploadEventCompleteState.ngfactory.d.ts.map +1 -0
- package/interfaces/ISacUploadEventCompleteState.ngsummary.d.ts +2 -0
- package/interfaces/ISacUploadEventCompleteState.ngsummary.d.ts.map +1 -0
- package/interfaces/ISacValidationKeyService.d.ts +53 -0
- package/interfaces/ISacValidationKeyService.d.ts.map +1 -0
- package/interfaces/ISacValidationKeyService.ngfactory.d.ts +2 -0
- package/interfaces/ISacValidationKeyService.ngfactory.d.ts.map +1 -0
- package/interfaces/ISacValidationKeyService.ngsummary.d.ts +2 -0
- package/interfaces/ISacValidationKeyService.ngsummary.d.ts.map +1 -0
- package/interfaces/iabstractcontrollabel.d.ts +6 -6
- package/interfaces/iabstractcontrollabel.ngfactory.d.ts +1 -1
- package/interfaces/iabstractcontrollabel.ngsummary.d.ts +1 -1
- package/interfaces/iconfirmcomponent.d.ts +18 -18
- package/interfaces/iconfirmcomponent.ngfactory.d.ts +1 -1
- package/interfaces/iconfirmcomponent.ngsummary.d.ts +1 -1
- package/interfaces/idatetimecontrol.d.ts +7 -7
- package/interfaces/idatetimecontrol.ngfactory.d.ts +1 -1
- package/interfaces/idatetimecontrol.ngsummary.d.ts +1 -1
- package/interfaces/iuploadcontrol.d.ts +9 -9
- package/interfaces/iuploadcontrol.ngfactory.d.ts +1 -1
- package/interfaces/iuploadcontrol.ngsummary.d.ts +1 -1
- package/interfaces/treeviewaction.interface.d.ts +5 -0
- package/interfaces/treeviewaction.interface.d.ts.map +1 -0
- package/interfaces/treeviewaction.interface.ngfactory.d.ts +2 -0
- package/interfaces/treeviewaction.interface.ngfactory.d.ts.map +1 -0
- package/interfaces/treeviewaction.interface.ngsummary.d.ts +2 -0
- package/interfaces/treeviewaction.interface.ngsummary.d.ts.map +1 -0
- package/models/languagemodel.d.ts +22 -22
- package/models/languagemodel.ngfactory.d.ts +1 -1
- package/models/languagemodel.ngsummary.d.ts +1 -1
- package/package.json +2 -2
- package/public_api.d.ts +88 -74
- package/public_api.d.ts.map +1 -1
- package/public_api.ngfactory.d.ts +1 -1
- package/public_api.ngsummary.d.ts +1 -1
- package/services/index.d.ts +6 -4
- package/services/index.d.ts.map +1 -1
- package/services/index.ngfactory.d.ts +1 -1
- package/services/index.ngsummary.d.ts +1 -1
- package/services/sac-configuration.service.d.ts +135 -0
- package/services/sac-configuration.service.d.ts.map +1 -0
- package/services/sac-configuration.service.ngfactory.d.ts +5 -0
- package/services/sac-configuration.service.ngfactory.d.ts.map +1 -0
- package/services/sac-configuration.service.ngsummary.d.ts +3 -0
- package/services/sac-configuration.service.ngsummary.d.ts.map +1 -0
- package/services/sac-filebrowser.service.d.ts +145 -145
- package/services/sac-filebrowser.service.ngfactory.d.ts +4 -4
- package/services/sac-filebrowser.service.ngsummary.d.ts +2 -2
- package/services/sac-icon.service.d.ts +293 -189
- package/services/sac-icon.service.d.ts.map +1 -1
- package/services/sac-icon.service.ngfactory.d.ts +4 -4
- package/services/sac-icon.service.ngsummary.d.ts +2 -2
- package/services/sac-language.service.d.ts +31 -31
- package/services/sac-language.service.ngfactory.d.ts +4 -4
- package/services/sac-language.service.ngsummary.d.ts +2 -2
- package/services/sac-localisation.service.d.ts +142 -136
- package/services/sac-localisation.service.d.ts.map +1 -1
- package/services/sac-localisation.service.ngfactory.d.ts +4 -4
- package/services/sac-localisation.service.ngsummary.d.ts +2 -2
- package/services/sac-validationkey.service.d.ts +59 -0
- package/services/sac-validationkey.service.d.ts.map +1 -0
- package/services/sac-validationkey.service.ngfactory.d.ts +4 -0
- package/services/sac-validationkey.service.ngfactory.d.ts.map +1 -0
- package/services/sac-validationkey.service.ngsummary.d.ts +2 -0
- package/services/sac-validationkey.service.ngsummary.d.ts.map +1 -0
- package/simpleangularcontrols-sac-common-13.0.0-rc.21.tgz +0 -0
- package/simpleangularcontrols-sac-common.d.ts +5 -5
- package/utilities/convertion.d.ts +15 -15
- package/utilities/convertion.ngfactory.d.ts +1 -1
- package/utilities/convertion.ngsummary.d.ts +1 -1
- package/utilities/datatypes.d.ts +6 -6
- package/utilities/datatypes.ngfactory.d.ts +1 -1
- package/utilities/datatypes.ngsummary.d.ts +1 -1
- package/utilities/enums.d.ts +12 -10
- package/utilities/enums.d.ts.map +1 -1
- package/utilities/enums.ngfactory.d.ts +1 -1
- package/utilities/enums.ngsummary.d.ts +1 -1
- package/utilities/guid.d.ts +5 -0
- package/utilities/guid.d.ts.map +1 -0
- package/utilities/guid.ngfactory.d.ts +2 -0
- package/utilities/guid.ngfactory.d.ts.map +1 -0
- package/utilities/guid.ngsummary.d.ts +2 -0
- package/utilities/guid.ngsummary.d.ts.map +1 -0
- package/utilities/interpolation.d.ts +21 -21
- package/utilities/interpolation.ngfactory.d.ts +1 -1
- package/utilities/interpolation.ngsummary.d.ts +1 -1
- package/utilities/popuphelper.d.ts +84 -0
- package/utilities/popuphelper.d.ts.map +1 -0
- package/utilities/popuphelper.ngfactory.d.ts +2 -0
- package/utilities/popuphelper.ngfactory.d.ts.map +1 -0
- package/utilities/popuphelper.ngsummary.d.ts +2 -0
- package/utilities/popuphelper.ngsummary.d.ts.map +1 -0
- package/utilities/positioning.d.ts +82 -82
- package/utilities/positioning.ngfactory.d.ts +1 -1
- package/utilities/positioning.ngsummary.d.ts +1 -1
- package/utilities/testingattribute.pipe.d.ts +16 -0
- package/utilities/testingattribute.pipe.d.ts.map +1 -0
- package/utilities/testingattribute.pipe.ngfactory.d.ts +4 -0
- package/utilities/testingattribute.pipe.ngfactory.d.ts.map +1 -0
- package/utilities/testingattribute.pipe.ngsummary.d.ts +2 -0
- package/utilities/testingattribute.pipe.ngsummary.d.ts.map +1 -0
- package/utilities/utilities.module.d.ts +8 -0
- package/utilities/utilities.module.d.ts.map +1 -0
- package/utilities/utilities.module.ngfactory.d.ts +4 -0
- package/utilities/utilities.module.ngfactory.d.ts.map +1 -0
- package/utilities/utilities.module.ngsummary.d.ts +2 -0
- package/utilities/utilities.module.ngsummary.d.ts.map +1 -0
- package/validation/email.validator.d.ts +2 -2
- package/validation/email.validator.ngfactory.d.ts +1 -1
- package/validation/email.validator.ngsummary.d.ts +1 -1
- package/validation/equals.validator.d.ts +3 -0
- package/validation/equals.validator.d.ts.map +1 -0
- package/validation/equals.validator.ngfactory.d.ts +2 -0
- package/validation/equals.validator.ngfactory.d.ts.map +1 -0
- package/validation/equals.validator.ngsummary.d.ts +2 -0
- package/validation/equals.validator.ngsummary.d.ts.map +1 -0
- package/validation/index.d.ts +2 -2
- package/validation/index.ngfactory.d.ts +1 -1
- package/validation/index.ngsummary.d.ts +1 -1
- package/validation/invaliddate.validator.d.ts +2 -2
- package/validation/invaliddate.validator.ngfactory.d.ts +1 -1
- package/validation/invaliddate.validator.ngsummary.d.ts +1 -1
- package/validation/isDateValid.d.ts +5 -5
- package/validation/isDateValid.d.ts.map +1 -1
- package/validation/isDateValid.ngfactory.d.ts +1 -1
- package/validation/isDateValid.ngsummary.d.ts +1 -1
- package/validation/maxdate.validator.d.ts +2 -2
- package/validation/maxdate.validator.ngfactory.d.ts +1 -1
- package/validation/maxdate.validator.ngsummary.d.ts +1 -1
- package/validation/maxtime.validator.d.ts +2 -2
- package/validation/maxtime.validator.ngfactory.d.ts +1 -1
- package/validation/maxtime.validator.ngsummary.d.ts +1 -1
- package/validation/maxvalue.validator.d.ts +2 -2
- package/validation/maxvalue.validator.ngfactory.d.ts +1 -1
- package/validation/maxvalue.validator.ngsummary.d.ts +1 -1
- package/validation/mindate.validator.d.ts +2 -2
- package/validation/mindate.validator.ngfactory.d.ts +1 -1
- package/validation/mindate.validator.ngsummary.d.ts +1 -1
- package/validation/minfiles.validator.d.ts +2 -2
- package/validation/minfiles.validator.ngfactory.d.ts +1 -1
- package/validation/minfiles.validator.ngsummary.d.ts +1 -1
- package/validation/mintextlength.validator.d.ts +3 -0
- package/validation/mintextlength.validator.d.ts.map +1 -0
- package/validation/mintextlength.validator.ngfactory.d.ts +2 -0
- package/validation/mintextlength.validator.ngfactory.d.ts.map +1 -0
- package/validation/mintextlength.validator.ngsummary.d.ts +2 -0
- package/validation/mintextlength.validator.ngsummary.d.ts.map +1 -0
- package/validation/mintime.validator.d.ts +2 -2
- package/validation/mintime.validator.ngfactory.d.ts +1 -1
- package/validation/mintime.validator.ngsummary.d.ts +1 -1
- package/validation/minvalue.validator.d.ts +2 -2
- package/validation/minvalue.validator.ngfactory.d.ts +1 -1
- package/validation/minvalue.validator.ngsummary.d.ts +1 -1
- package/validation/multilanguagerequired.validator.d.ts +3 -3
- package/validation/multilanguagerequired.validator.ngfactory.d.ts +1 -1
- package/validation/multilanguagerequired.validator.ngsummary.d.ts +1 -1
- package/validation/multilanguagerequiredany.validator.d.ts +3 -3
- package/validation/multilanguagerequiredany.validator.ngfactory.d.ts +1 -1
- package/validation/multilanguagerequiredany.validator.ngsummary.d.ts +1 -1
- package/validation/notequals.validator.d.ts +3 -0
- package/validation/notequals.validator.d.ts.map +1 -0
- package/validation/notequals.validator.ngfactory.d.ts +2 -0
- package/validation/notequals.validator.ngfactory.d.ts.map +1 -0
- package/validation/notequals.validator.ngsummary.d.ts +2 -0
- package/validation/notequals.validator.ngsummary.d.ts.map +1 -0
- package/validation/pattern.validator.d.ts +2 -2
- package/validation/pattern.validator.ngfactory.d.ts +1 -1
- package/validation/pattern.validator.ngsummary.d.ts +1 -1
- package/validation/required.validator.d.ts +2 -2
- package/validation/required.validator.ngfactory.d.ts +1 -1
- package/validation/required.validator.ngsummary.d.ts +1 -1
- package/validation/validation.d.ts +157 -139
- package/validation/validation.d.ts.map +1 -1
- package/validation/validation.ngfactory.d.ts +1 -1
- package/validation/validation.ngsummary.d.ts +1 -1
- package/validation/validationerrorcreator.d.ts +1 -1
- package/validation/validationerrorcreator.ngfactory.d.ts +1 -1
- package/validation/validationerrorcreator.ngsummary.d.ts +1 -1
- package/validation/validationerroritem.d.ts +33 -33
- package/validation/validationerroritem.ngfactory.d.ts +1 -1
- package/validation/validationerroritem.ngsummary.d.ts +1 -1
- package/controls/treeview/ngtreeitemaction.d.ts +0 -44
- package/controls/treeview/ngtreeitemaction.d.ts.map +0 -1
- package/controls/treeview/ngtreeitemaction.ngfactory.d.ts +0 -4
- package/controls/treeview/ngtreeitemaction.ngfactory.d.ts.map +0 -1
- package/controls/treeview/ngtreeitemaction.ngsummary.d.ts +0 -2
- package/controls/treeview/ngtreeitemaction.ngsummary.d.ts.map +0 -1
- package/controls/treeview/treeviewchild.d.ts +0 -16
- package/controls/treeview/treeviewchild.d.ts.map +0 -1
- package/controls/treeview/treeviewchild.ngfactory.d.ts +0 -4
- package/controls/treeview/treeviewchild.ngfactory.d.ts.map +0 -1
- package/controls/treeview/treeviewchild.ngsummary.d.ts +0 -2
- package/controls/treeview/treeviewchild.ngsummary.d.ts.map +0 -1
- package/esm2020/controls/treeview/ngtreeitemaction.mjs +0 -62
- package/esm2020/controls/treeview/ngtreeitemaction.ngfactory.mjs +0 -4
- package/esm2020/controls/treeview/ngtreeitemaction.ngsummary.mjs +0 -2
- package/esm2020/controls/treeview/treeviewchild.mjs +0 -21
- package/esm2020/controls/treeview/treeviewchild.ngfactory.mjs +0 -4
- package/esm2020/controls/treeview/treeviewchild.ngsummary.mjs +0 -2
- package/esm2020/validation/minlength.validator.mjs +0 -21
- package/esm2020/validation/minlength.validator.ngfactory.mjs +0 -2
- package/esm2020/validation/minlength.validator.ngsummary.mjs +0 -2
- package/simpleangularcontrols-sac-common-13.0.0-rc.2.tgz +0 -0
- package/validation/minlength.validator.d.ts +0 -3
- package/validation/minlength.validator.d.ts.map +0 -1
- package/validation/minlength.validator.ngfactory.d.ts +0 -2
- package/validation/minlength.validator.ngfactory.d.ts.map +0 -1
- package/validation/minlength.validator.ngsummary.d.ts +0 -2
- package/validation/minlength.validator.ngsummary.d.ts.map +0 -1
|
@@ -1,343 +1,104 @@
|
|
|
1
|
-
import { ContentChild, Directive, EventEmitter, Input, Output, } from '@angular/core';
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
*
|
|
14
|
-
*/
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
*
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
*
|
|
22
|
-
*/
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
*
|
|
26
|
-
*/
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
*
|
|
30
|
-
*/
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
*
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
*
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
*
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
* Getter property. Ergibt das FileIcon für das TreeView
|
|
104
|
-
*/
|
|
105
|
-
get treefileicon() {
|
|
106
|
-
return this.fileicontemplate;
|
|
107
|
-
}
|
|
108
|
-
// @Input("titleAction") _titleAction: string
|
|
109
|
-
/**
|
|
110
|
-
* Collapse or expand all parent nodes.
|
|
111
|
-
*/
|
|
112
|
-
set collapseall(value) {
|
|
113
|
-
this._collapseAll = value;
|
|
114
|
-
if (this.nodes && this.nodes.length && this.nodes.length > 0) {
|
|
115
|
-
this.collapseAllNode(this._collapseAll);
|
|
116
|
-
}
|
|
117
|
-
// this._recursiveEdit(
|
|
118
|
-
// this.nodes, this.childrenAttr, this.collapseAttr, this._collapseAll);
|
|
119
|
-
// this.cd.detectChanges();
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* Getter für das collapse property. Ergibt boolean Wert, ob die Items collapsed/expand sind.
|
|
123
|
-
*/
|
|
124
|
-
get collapseall() {
|
|
125
|
-
return this._collapseAll;
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Select or deselect all nodes.
|
|
129
|
-
*/
|
|
130
|
-
set selectall(value) {
|
|
131
|
-
this._selectAll = value;
|
|
132
|
-
this._recursiveEdit(this.nodes, this.childrenAttr, this.selectAttr, value);
|
|
133
|
-
this._recursiveEdit(this.nodes, this.childrenAttr, this.inDeterminateAttr, false);
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Input property - setter. Deffiniert das ID des selektierten Item(node)
|
|
137
|
-
*/
|
|
138
|
-
set selectedid(v) {
|
|
139
|
-
this.selectedNode = this.findNode(this.nodes, v, this.idAttr);
|
|
140
|
-
// if (this.selectedNode) {
|
|
141
|
-
// this.selectedIdEmitter.emit(this.selectedNode[this.idAttr]);
|
|
142
|
-
// this.selectedTextEmitter.emit(this.selectedNode[this.textAttr]);
|
|
143
|
-
// }
|
|
144
|
-
}
|
|
145
|
-
/**
|
|
146
|
-
* Getter. Ergibt das ID des selektierten Item(node)
|
|
147
|
-
*/
|
|
148
|
-
get selectedId() {
|
|
149
|
-
return this.selectedNode ? this.selectedNode[this.idAttr] : null;
|
|
150
|
-
}
|
|
151
|
-
/**
|
|
152
|
-
* Setter für das selektierte Wert(node). Wenn aufgerufen das ID und TextAttr des selected Node wird emitted
|
|
153
|
-
*/
|
|
154
|
-
set selectedNode(v) {
|
|
155
|
-
this._selectedNode = v;
|
|
156
|
-
if (this._selectedNode) {
|
|
157
|
-
this.selectedidchange.emit(this.selectedId);
|
|
158
|
-
this.selectedtextchanged.emit(v[this.textAttr]);
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
/**
|
|
162
|
-
* Getter für das selektierte Wert(node). Ergibt das selektierte Wert(node).
|
|
163
|
-
*/
|
|
164
|
-
get selectedNode() {
|
|
165
|
-
return this._selectedNode;
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* A lifecycle hook that is called after Angular has initialized all data-bound properties of a directive.
|
|
169
|
-
* Define an ngOnInit() method to handle any additional initialization tasks.
|
|
170
|
-
*/
|
|
171
|
-
ngOnInit() {
|
|
172
|
-
this.collapseAllNode(this._collapseAll);
|
|
173
|
-
if (this.selectedId)
|
|
174
|
-
this.openSelectedNode(this.nodes);
|
|
175
|
-
}
|
|
176
|
-
/**
|
|
177
|
-
* Funktion setzt alle parent items recusiv zum selected node
|
|
178
|
-
* auf collapsed = false
|
|
179
|
-
*/
|
|
180
|
-
openSelectedNode(data) {
|
|
181
|
-
let result = false;
|
|
182
|
-
for (let i = 0; i < data.length; i++) {
|
|
183
|
-
if (data[i][this.childrenAttr].length &&
|
|
184
|
-
data[i][this.idAttr] != this.selectedId)
|
|
185
|
-
result = this.openSelectedNode(data[i][this.childrenAttr]);
|
|
186
|
-
if (result || data[i][this.idAttr] == this.selectedId) {
|
|
187
|
-
data[i][this.collapseAttr] = false;
|
|
188
|
-
return true;
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
return false;
|
|
192
|
-
}
|
|
193
|
-
/**
|
|
194
|
-
* Die Methode vorbereitet die Daten für das TreeView. Die Funktion sollte geändert werden abhängig von dem kommenden Daten (wenn array)
|
|
195
|
-
*/
|
|
196
|
-
LoadTree() {
|
|
197
|
-
//if the tree structure require array the function below should be changed
|
|
198
|
-
const cloned = this._data.map((x) => Object.assign({}, x));
|
|
199
|
-
// If data is flat, prepare data with recursive function.
|
|
200
|
-
this.nodes = this.prepareData ? this._getPreparedData(cloned) : this._data;
|
|
201
|
-
}
|
|
202
|
-
/**
|
|
203
|
-
* Die Methode collapse/expand den selectierten Node
|
|
204
|
-
*/
|
|
205
|
-
onCollapseClick(node) {
|
|
206
|
-
if (node[this.childrenAttr].length) {
|
|
207
|
-
node[this.collapseAttr] = !node[this.collapseAttr];
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
/**
|
|
211
|
-
* Die Methode set den selektierten Node und emit es.
|
|
212
|
-
*/
|
|
213
|
-
onClick(node) {
|
|
214
|
-
this.selectedNode = node;
|
|
215
|
-
this.selecteditem.emit(this.selectedNode);
|
|
216
|
-
// this.cd.detectChanges();
|
|
217
|
-
}
|
|
218
|
-
/**
|
|
219
|
-
* Die Methode wird ein event mit Meldung zu Parent emit-en.
|
|
220
|
-
*/
|
|
221
|
-
sendMsgToParent(msg) {
|
|
222
|
-
this.selecteditem.emit(msg);
|
|
223
|
-
}
|
|
224
|
-
/**
|
|
225
|
-
* Die Methode wird alle Nodes collapse
|
|
226
|
-
*/
|
|
227
|
-
collapseAllNode(command) {
|
|
228
|
-
this.nodes.forEach((node) => {
|
|
229
|
-
if (node[this.childrenAttr].length) {
|
|
230
|
-
collapseAllHIdden(node, this.collapseAttr, command, this.childrenAttr);
|
|
231
|
-
}
|
|
232
|
-
});
|
|
233
|
-
function collapseAllHIdden(node, collapseAttr, command, childrenAttr) {
|
|
234
|
-
node[collapseAttr] = command;
|
|
235
|
-
node.children.forEach((child) => {
|
|
236
|
-
if (child[childrenAttr].length) {
|
|
237
|
-
collapseAllHIdden(child, collapseAttr, command, childrenAttr);
|
|
238
|
-
}
|
|
239
|
-
});
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
/**
|
|
243
|
-
* Funktion gibt node aus der liste zurück, welches das Value auf dem gewünschten Attribut hat
|
|
244
|
-
* Wenn node nicht gefunden wird, wird null zurück gegeben
|
|
245
|
-
* @param data Liste der nodes
|
|
246
|
-
* @param searchValue Das gesuchte value
|
|
247
|
-
* @param attr Der namen des Attributs auf dem das value gesucht wird
|
|
248
|
-
*/
|
|
249
|
-
findNode(data, searchValue, attr) {
|
|
250
|
-
let result = null;
|
|
251
|
-
for (let i = 0; i < data.length; i++) {
|
|
252
|
-
if (data[i][attr] == searchValue)
|
|
253
|
-
result = data[i];
|
|
254
|
-
else {
|
|
255
|
-
if (data[i][this.childrenAttr].length) {
|
|
256
|
-
let recursiveResult = this.findNode(data[i][this.childrenAttr], searchValue, attr);
|
|
257
|
-
if (recursiveResult)
|
|
258
|
-
result = recursiveResult;
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
return result;
|
|
263
|
-
}
|
|
264
|
-
/**
|
|
265
|
-
* Die Methode editiert (recursive) alle eingegebene Nodes abhängig von gegebenen Attibute und Value Kriterien.
|
|
266
|
-
*/
|
|
267
|
-
_recursiveEdit(list, childrenAttr, attr, value) {
|
|
268
|
-
if (Array.isArray(list)) {
|
|
269
|
-
for (let i = 0, len = list.length; i < len; i++) {
|
|
270
|
-
list[i][attr] = value;
|
|
271
|
-
if (list[i][childrenAttr].length) {
|
|
272
|
-
this._recursiveEdit(list[i][childrenAttr], childrenAttr, attr, value);
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
/**
|
|
278
|
-
* Die Methode erstellt eine standarte Sicht-Liste von Nodes
|
|
279
|
-
*/
|
|
280
|
-
_getPreparedData(list) {
|
|
281
|
-
const tree = [], lookup = {};
|
|
282
|
-
for (let i = 0, len = list.length; i < len; i++) {
|
|
283
|
-
lookup[list[i][this.idAttr]] = list[i];
|
|
284
|
-
list[i][this.childrenAttr] = [];
|
|
285
|
-
list[i][this.collapseAttr] = true;
|
|
286
|
-
list[i][this.selectAttr] = false;
|
|
287
|
-
list[i][this.inDeterminateAttr] = false;
|
|
288
|
-
}
|
|
289
|
-
for (let i = 0, len = list.length; i < len; i++) {
|
|
290
|
-
if (list[i][this.parentAttr]) {
|
|
291
|
-
lookup[list[i][this.parentAttr]][this.childrenAttr].push(list[i]);
|
|
292
|
-
}
|
|
293
|
-
else {
|
|
294
|
-
tree.push(list[i]);
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
return tree;
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
SacTreeViewCommon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacTreeViewCommon, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
301
|
-
SacTreeViewCommon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacTreeViewCommon, inputs: { data: "data", template: "template", fileicontemplate: "fileicontemplate", name: "name", prepareData: "prepareData", textAttr: "textAttr", idAttr: "idAttr", parentAttr: "parentAttr", childrenAttr: "childrenAttr", title: "title", collapseall: "collapseall", selectall: "selectall", selectedid: "selectedid" }, outputs: { selectedidchange: "selectedidchange", selectedtextchanged: "selectedtextchanged", selecteditem: "selecteditem" }, queries: [{ propertyName: "treeviewTemplate", first: true, predicate: ["actions"], descendants: true, static: true }, { propertyName: "treefileicon", first: true, predicate: ["treefileicon"], descendants: true, static: true }], ngImport: i0 });
|
|
302
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacTreeViewCommon, decorators: [{
|
|
303
|
-
type: Directive
|
|
304
|
-
}], propDecorators: { data: [{
|
|
305
|
-
type: Input
|
|
306
|
-
}], template: [{
|
|
307
|
-
type: Input
|
|
308
|
-
}], treeviewTemplate: [{
|
|
309
|
-
type: ContentChild,
|
|
310
|
-
args: ['actions', { static: true }]
|
|
311
|
-
}], fileicontemplate: [{
|
|
312
|
-
type: Input
|
|
313
|
-
}], treefileicon: [{
|
|
314
|
-
type: ContentChild,
|
|
315
|
-
args: ['treefileicon', { static: true }]
|
|
316
|
-
}], name: [{
|
|
317
|
-
type: Input
|
|
318
|
-
}], prepareData: [{
|
|
319
|
-
type: Input
|
|
320
|
-
}], textAttr: [{
|
|
321
|
-
type: Input
|
|
322
|
-
}], idAttr: [{
|
|
323
|
-
type: Input
|
|
324
|
-
}], parentAttr: [{
|
|
325
|
-
type: Input
|
|
326
|
-
}], childrenAttr: [{
|
|
327
|
-
type: Input
|
|
328
|
-
}], title: [{
|
|
329
|
-
type: Input
|
|
330
|
-
}], collapseall: [{
|
|
331
|
-
type: Input
|
|
332
|
-
}], selectall: [{
|
|
333
|
-
type: Input
|
|
334
|
-
}], selectedid: [{
|
|
335
|
-
type: Input
|
|
336
|
-
}], selectedidchange: [{
|
|
337
|
-
type: Output
|
|
338
|
-
}], selectedtextchanged: [{
|
|
339
|
-
type: Output
|
|
340
|
-
}], selecteditem: [{
|
|
341
|
-
type: Output
|
|
342
|
-
}] } });
|
|
343
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZXZpZXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb250cm9scy90cmVldmlldy90cmVldmlldy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsWUFBWSxFQUNaLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQzs7QUFFdkI7O0dBRUc7QUFFSCxNQUFNLE9BQU8saUJBQWlCO0lBRDlCO1FBWUU7O1dBRUc7UUFDSSxVQUFLLEdBQVUsRUFBRSxDQUFDO1FBRXpCOztXQUVHO1FBQ0ksaUJBQVksR0FBRyxhQUFhLENBQUM7UUFFcEM7O1dBRUc7UUFDSSxlQUFVLEdBQUcsWUFBWSxDQUFDO1FBRWpDOztXQUVHO1FBQ0ksc0JBQWlCLEdBQUcsaUJBQWlCLENBQUM7UUFFN0M7O1dBRUc7UUFDSyxVQUFLLEdBQVUsRUFBRSxDQUFDO1FBb0UxQjs7V0FFRztRQUVILFNBQUksR0FBVyxFQUFFLENBQUM7UUFFbEI7OztXQUdHO1FBQ00sZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFN0I7O1dBRUc7UUFDTSxhQUFRLEdBQUcsTUFBTSxDQUFDO1FBRTNCOztXQUVHO1FBQ00sV0FBTSxHQUFHLElBQUksQ0FBQztRQUV2Qjs7V0FFRztRQUNNLGVBQVUsR0FBRyxXQUFXLENBQUM7UUFFbEM7O1dBRUc7UUFDTSxpQkFBWSxHQUFHLFVBQVUsQ0FBQztRQTJGbkM7O1dBRUc7UUFFSCxxQkFBZ0IsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUU5RDs7V0FFRztRQUVILHdCQUFtQixHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBRXZFOztXQUVHO1FBRUgsaUJBQVksR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztLQXFKakU7SUFoV0M7O09BRUc7SUFDSCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFL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O2dCQUtHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBS0csS0FBSztzQkFBYixLQUFLO2dCQVFGLFdBQVc7c0JBRGQsS0FBSztnQkF3QkYsU0FBUztzQkFEWixLQUFLO2dCQWdCRixVQUFVO3NCQURiLEtBQUs7Z0JBNkNOLGdCQUFnQjtzQkFEZixNQUFNO2dCQU9QLG1CQUFtQjtzQkFEbEIsTUFBTTtnQkFPUCxZQUFZO3NCQURYLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbnRlbnRDaGlsZCxcclxuICBEaXJlY3RpdmUsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKipcclxuICogQmFzaXMgS29tcG9uZW50ZSBmw7xyIFNhY1RyZWVWaWV3XHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGNsYXNzIFNhY1RyZWVWaWV3Q29tbW9uIGltcGxlbWVudHMgT25Jbml0IHtcclxuICAvKipcclxuICAgKiBEYXMgUHJvcGVydHkgZW50aGllbHQgYm9vbGVhbiBXZXJ0IHVuZCBkZWZmaW5pZXJ0LCBvYiBhbGxlIEl0ZW1zIGNvbGxhcHNlZCBzaW5kLiBEZWZhdWx0IHZhbHVlOiB1bmRlZmluZWQvbnVsbFxyXG4gICAqL1xyXG4gIHB1YmxpYyBfY29sbGFwc2VBbGw6IGJvb2xlYW47XHJcblxyXG4gIC8qKlxyXG4gICAqIERhcyBQcm9wZXJ0eSBlbnRoaWVsdCBib29sZWFuIFdlcnQgdW5kIGRlZmZpbmllcnQsIG9iIGFsbGUgSXRlbXMgc2VsZWN0ZWQgc2luZC4gRGVmYXVsdCB2YWx1ZTogdW5kZWZpbmVkL251bGxcclxuICAgKi9cclxuICBwcml2YXRlIF9zZWxlY3RBbGw6IGJvb2xlYW47XHJcblxyXG4gIC8qKlxyXG4gICAqIERhcyBQcm9wZXJ0eSBlbnRoaWVsdCBhcnJheSBvZiBub2Rlcy4gRGVmYXVsdCB2YWx1ZTogZW1wdHkgYXJyYXkgW10uXHJcbiAgICovXHJcbiAgcHVibGljIG5vZGVzOiBhbnlbXSA9IFtdO1xyXG5cclxuICAvKipcclxuICAgKiBEYXMgUHJvcGVydHkgZW50aGllbHQgbm9kZSBhdHRyaWJ1dGU6ICdpc0NvbGxhcHNlZCcuIEVzIHdpcmQgYmVudXR6dCBiZWltIHJlbmRlcmluZy4gRsO8ciBFeHBhbmQvQ29sbGFwc2VkIFNpY2h0IGRlcyBOb2RlKFdlcnQpXHJcbiAgICovXHJcbiAgcHVibGljIGNvbGxhcHNlQXR0ciA9ICdpc0NvbGxhcHNlZCc7XHJcblxyXG4gIC8qKlxyXG4gICAqIERhcyBQcm9wZXJ0eSBlbnRoaWVsdCBub2RlIGF0dHJpYnV0ZTogJ2lzU2VsZWN0ZWQnLiBFcyB3aXJkIGJlbnV0enQgYmVpbSBWb3JiZXJlaXR1bmcgZGVzIERhdGEgZGVzIFRyZWVWaWV3XHJcbiAgICovXHJcbiAgcHVibGljIHNlbGVjdEF0dHIgPSAnaXNTZWxlY3RlZCc7XHJcblxyXG4gIC8qKlxyXG4gICAqIERhcyBQcm9wZXJ0eSBlbnRoaWVsdCBub2RlIGF0dHJpYnV0ZTogJ2lzSW5kZXRlcm1pbmF0ZScuIEVzIHdpcmQgYmVudXR6dCBiZWltIFZvcmJlcmVpdHVuZyBkZXMgRGF0YSBkZXMgVHJlZVZpZXdcclxuICAgKi9cclxuICBwdWJsaWMgaW5EZXRlcm1pbmF0ZUF0dHIgPSAnaXNJbmRldGVybWluYXRlJztcclxuXHJcbiAgLyoqXHJcbiAgICogUHJvdmlkZW4gZGF0YSBmb3IgdHJlZS5cclxuICAgKi9cclxuICBwcml2YXRlIF9kYXRhOiBhbnlbXSA9IFtdO1xyXG5cclxuICAvKipcclxuICAgKiBHZXR0ZXIgZsO8ciBEYXRhIGRlcyBUcmVlVmlld1xyXG4gICAqL1xyXG4gIGdldCBkYXRhKCk6IGFueVtdIHtcclxuICAgIHJldHVybiB0aGlzLl9kYXRhO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW5wdXQgUHJvcGVydHkgZsO8ciBEYXRhIGRlcyBUcmVlVmlld1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGRhdGEodmFsdWU6IGFueVtdKSB7XHJcbiAgICB0aGlzLl9kYXRhID0gdmFsdWU7XHJcbiAgICB0aGlzLm5vZGVzID0gdmFsdWU7XHJcblxyXG4gICAgLy8gdGhpcy5ub2Rlcy5mb3JFYWNoKG5vZGUgPT4gbm9kZVtcInR5cGVJZFwiXSA9IFwiMTNcIilcclxuXHJcbiAgICB0aGlzLkxvYWRUcmVlKCk7XHJcblxyXG4gICAgaWYgKHRoaXMuX2NvbGxhcHNlQWxsICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5jb2xsYXBzZUFsbE5vZGUodGhpcy5fY29sbGFwc2VBbGwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW5wdXQgUHJvcGVydHkgZsO8ciB0ZW1wbGF0ZSBkZXMgVHJlZVZpZXcuIFR5cGU6IFRlbXBsYXRlUmVmPGFueT4uXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgLyoqXHJcbiAgICogRGllIERpcmVjdGl2ZSBlcmjDpGx0IGRpZSBhY3Rpb25zIGbDvHIgZGFzIFRyZWVWaWV3XHJcbiAgICovXHJcbiAgQENvbnRlbnRDaGlsZCgnYWN0aW9ucycsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgcHVibGljIHNldCB0cmVldmlld1RlbXBsYXRlKHY6IFRlbXBsYXRlUmVmPGFueT4pIHtcclxuICAgIHRoaXMudGVtcGxhdGUgPSB2O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0dGVyIGbDvHIgZGFzIFRyZWVWaWV3IFRlbXBsYXRlXHJcbiAgICovXHJcbiAgcHVibGljIGdldCB0cmVldmlld1RlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMudGVtcGxhdGU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbnB1dCBwcm9wZXJ0eSBlcmjDpGx0IEljb24gZsO8ciBkYXMgVGVtcGxhdGVcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIGZpbGVpY29udGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHRlciBwcm9wZXJ0eS4gRGVmZmluaWVydCBkYXMgRmlsZUljb24gZsO8ciBkYXMgVHJlZVZpZXdcclxuICAgKi9cclxuICBAQ29udGVudENoaWxkKCd0cmVlZmlsZWljb24nLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIHB1YmxpYyBzZXQgdHJlZWZpbGVpY29uKHY6IFRlbXBsYXRlUmVmPGFueT4pIHtcclxuICAgIHRoaXMuZmlsZWljb250ZW1wbGF0ZSA9IHY7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXR0ZXIgcHJvcGVydHkuIEVyZ2lidCBkYXMgRmlsZUljb24gZsO8ciBkYXMgVHJlZVZpZXdcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0IHRyZWVmaWxlaWNvbigpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmZpbGVpY29udGVtcGxhdGU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbnB1dCBwcm9wZXJ0eSBmw7xyIGRlbiBOYW1lbiBkZXMgVHJlZVZpZXcuIFR5cGUgc3RyaW5nLiBEZWZhdWx0IHZhbHVlOiBcIlwiXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBuYW1lOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgLyoqXHJcbiAgICogQSBmbGFnIGluZGljYXRpbmcgZGF0YSBpcyBmbGF0dGVuIGluIGFycmF5IGFuZCBwcmVwYXJlIGlzIHJlcXVpcmVkLihEZWZhdWx0XHJcbiAgICogaXMgZmFsc2UpLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHByZXBhcmVEYXRhID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEF0dHJpYnV0ZSBmb3IgVGV4dCBpbiBUcmVlXHJcbiAgICovXHJcbiAgQElucHV0KCkgdGV4dEF0dHIgPSAnZGF0YSc7XHJcblxyXG4gIC8qKlxyXG4gICAqIE5hbWUgb2YgSUQgcHJvcGVydHkgaW4gaW5wdXQgZGF0YS5cclxuICAgKi9cclxuICBASW5wdXQoKSBpZEF0dHIgPSAnaWQnO1xyXG5cclxuICAvKipcclxuICAgKiBOYW1lIG9mIHBhcmVudCBwcm9wZXJ0eSBpbiBpbnB1dCBkYXRhLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHBhcmVudEF0dHIgPSAnUEFSRU5UX0lEJztcclxuXHJcbiAgLyoqXHJcbiAgICogTmFtZSBvZiBjaGlsZHJlbiBsaXN0IHByb3BlcnR5IGluIGlucHV0IGRhdGEuXHJcbiAgICovXHJcbiAgQElucHV0KCkgY2hpbGRyZW5BdHRyID0gJ2NoaWxkcmVuJztcclxuXHJcbiAgLyoqXHJcbiAgICogVGl0bGUgZGVzIFRyZWV2aWV3XHJcbiAgICovXHJcbiAgQElucHV0KCkgdGl0bGU7XHJcblxyXG4gIC8vIEBJbnB1dChcInRpdGxlQWN0aW9uXCIpIF90aXRsZUFjdGlvbjogc3RyaW5nXHJcblxyXG4gIC8qKlxyXG4gICAqIENvbGxhcHNlIG9yIGV4cGFuZCBhbGwgcGFyZW50IG5vZGVzLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGNvbGxhcHNlYWxsKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9jb2xsYXBzZUFsbCA9IHZhbHVlO1xyXG4gICAgaWYgKHRoaXMubm9kZXMgJiYgdGhpcy5ub2Rlcy5sZW5ndGggJiYgdGhpcy5ub2Rlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuY29sbGFwc2VBbGxOb2RlKHRoaXMuX2NvbGxhcHNlQWxsKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyB0aGlzLl9yZWN1cnNpdmVFZGl0KFxyXG4gICAgLy8gICB0aGlzLm5vZGVzLCB0aGlzLmNoaWxkcmVuQXR0ciwgdGhpcy5jb2xsYXBzZUF0dHIsIHRoaXMuX2NvbGxhcHNlQWxsKTtcclxuXHJcbiAgICAvLyB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldHRlciBmw7xyIGRhcyBjb2xsYXBzZSBwcm9wZXJ0eS4gRXJnaWJ0IGJvb2xlYW4gV2VydCwgb2IgZGllIEl0ZW1zIGNvbGxhcHNlZC9leHBhbmQgc2luZC5cclxuICAgKi9cclxuICBnZXQgY29sbGFwc2VhbGwoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29sbGFwc2VBbGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZWxlY3Qgb3IgZGVzZWxlY3QgYWxsIG5vZGVzLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHNlbGVjdGFsbCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fc2VsZWN0QWxsID0gdmFsdWU7XHJcbiAgICB0aGlzLl9yZWN1cnNpdmVFZGl0KHRoaXMubm9kZXMsIHRoaXMuY2hpbGRyZW5BdHRyLCB0aGlzLnNlbGVjdEF0dHIsIHZhbHVlKTtcclxuICAgIHRoaXMuX3JlY3Vyc2l2ZUVkaXQoXHJcbiAgICAgIHRoaXMubm9kZXMsXHJcbiAgICAgIHRoaXMuY2hpbGRyZW5BdHRyLFxyXG4gICAgICB0aGlzLmluRGV0ZXJtaW5hdGVBdHRyLFxyXG4gICAgICBmYWxzZVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIElucHV0IHByb3BlcnR5IC0gc2V0dGVyLiBEZWZmaW5pZXJ0IGRhcyBJRCBkZXMgc2VsZWt0aWVydGVuIEl0ZW0obm9kZSlcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBzZWxlY3RlZGlkKHY6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZE5vZGUgPSB0aGlzLmZpbmROb2RlKHRoaXMubm9kZXMsIHYsIHRoaXMuaWRBdHRyKTtcclxuXHJcbiAgICAvLyBpZiAodGhpcy5zZWxlY3RlZE5vZGUpIHtcclxuICAgIC8vICAgdGhpcy5zZWxlY3RlZElkRW1pdHRlci5lbWl0KHRoaXMuc2VsZWN0ZWROb2RlW3RoaXMuaWRBdHRyXSk7XHJcbiAgICAvLyAgIHRoaXMuc2VsZWN0ZWRUZXh0RW1pdHRlci5lbWl0KHRoaXMuc2VsZWN0ZWROb2RlW3RoaXMudGV4dEF0dHJdKTtcclxuICAgIC8vIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldHRlci4gRXJnaWJ0IGRhcyBJRCBkZXMgc2VsZWt0aWVydGVuIEl0ZW0obm9kZSlcclxuICAgKi9cclxuICBnZXQgc2VsZWN0ZWRJZCgpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWROb2RlID8gdGhpcy5zZWxlY3RlZE5vZGVbdGhpcy5pZEF0dHJdIDogbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERhcyBQcm9wZXJ0eSBlcmjDpGx0IGRhcyBzZWxla3RpZXJ0ZSBXZXJ0KG5vZGUpLiBEZWZhdWx0IHZhbHVlOiB1bmRlZmluZWQvbnVsbFxyXG4gICAqL1xyXG4gIHByaXZhdGUgX3NlbGVjdGVkTm9kZTtcclxuXHJcbiAgLyoqXHJcbiAgICogU2V0dGVyIGbDvHIgZGFzIHNlbGVrdGllcnRlIFdlcnQobm9kZSkuIFdlbm4gYXVmZ2VydWZlbiBkYXMgSUQgdW5kIFRleHRBdHRyIGRlcyBzZWxlY3RlZCBOb2RlIHdpcmQgZW1pdHRlZFxyXG4gICAqL1xyXG4gIHNldCBzZWxlY3RlZE5vZGUodjogYW55KSB7XHJcbiAgICB0aGlzLl9zZWxlY3RlZE5vZGUgPSB2O1xyXG5cclxuICAgIGlmICh0aGlzLl9zZWxlY3RlZE5vZGUpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZGlkY2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZElkKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZHRleHRjaGFuZ2VkLmVtaXQodlt0aGlzLnRleHRBdHRyXSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXR0ZXIgZsO8ciBkYXMgc2VsZWt0aWVydGUgV2VydChub2RlKS4gRXJnaWJ0IGRhcyBzZWxla3RpZXJ0ZSBXZXJ0KG5vZGUpLlxyXG4gICAqL1xyXG4gIGdldCBzZWxlY3RlZE5vZGUoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZE5vZGU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPdXRwdXQgRW1pdHRlci4gRW1pdCBkYXMgSUQgZGVzIHNlbGVjdGVkIE5vZGUuXHJcbiAgICovXHJcbiAgQE91dHB1dCgpXHJcbiAgc2VsZWN0ZWRpZGNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogT3V0cHV0IEVtaXR0ZXIuIEVtaXQgZGFzIFRleHRBdHRyIGRlcyBzZWxlY3RlZCBOb2RlLlxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKVxyXG4gIHNlbGVjdGVkdGV4dGNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIE91dHB1dCBFbWl0dGVyLiBFbWl0IHdlbm4gZWluIE5vZGUgc2VsZWt0aWVydCB3aXJkLlxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKVxyXG4gIHNlbGVjdGVkaXRlbTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogQSBsaWZlY3ljbGUgaG9vayB0aGF0IGlzIGNhbGxlZCBhZnRlciBBbmd1bGFyIGhhcyBpbml0aWFsaXplZCBhbGwgZGF0YS1ib3VuZCBwcm9wZXJ0aWVzIG9mIGEgZGlyZWN0aXZlLlxyXG4gICAqIERlZmluZSBhbiBuZ09uSW5pdCgpIG1ldGhvZCB0byBoYW5kbGUgYW55IGFkZGl0aW9uYWwgaW5pdGlhbGl6YXRpb24gdGFza3MuXHJcbiAgICovXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmNvbGxhcHNlQWxsTm9kZSh0aGlzLl9jb2xsYXBzZUFsbCk7XHJcblxyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJZCkgdGhpcy5vcGVuU2VsZWN0ZWROb2RlKHRoaXMubm9kZXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRnVua3Rpb24gc2V0enQgYWxsZSBwYXJlbnQgaXRlbXMgcmVjdXNpdiB6dW0gc2VsZWN0ZWQgbm9kZVxyXG4gICAqIGF1ZiBjb2xsYXBzZWQgPSBmYWxzZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgb3BlblNlbGVjdGVkTm9kZShkYXRhKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgcmVzdWx0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIGRhdGFbaV1bdGhpcy5jaGlsZHJlbkF0dHJdLmxlbmd0aCAmJlxyXG4gICAgICAgIGRhdGFbaV1bdGhpcy5pZEF0dHJdICE9IHRoaXMuc2VsZWN0ZWRJZFxyXG4gICAgICApXHJcbiAgICAgICAgcmVzdWx0ID0gdGhpcy5vcGVuU2VsZWN0ZWROb2RlKGRhdGFbaV1bdGhpcy5jaGlsZHJlbkF0dHJdKTtcclxuICAgICAgaWYgKHJlc3VsdCB8fCBkYXRhW2ldW3RoaXMuaWRBdHRyXSA9PSB0aGlzLnNlbGVjdGVkSWQpIHtcclxuICAgICAgICBkYXRhW2ldW3RoaXMuY29sbGFwc2VBdHRyXSA9IGZhbHNlO1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEaWUgTWV0aG9kZSB2b3JiZXJlaXRldCBkaWUgRGF0ZW4gZsO8ciBkYXMgVHJlZVZpZXcuIERpZSBGdW5rdGlvbiBzb2xsdGUgZ2XDpG5kZXJ0IHdlcmRlbiBhYmjDpG5naWcgdm9uIGRlbSBrb21tZW5kZW4gRGF0ZW4gKHdlbm4gYXJyYXkpXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBMb2FkVHJlZSgpIHtcclxuICAgIC8vaWYgdGhlIHRyZWUgc3RydWN0dXJlIHJlcXVpcmUgYXJyYXkgdGhlIGZ1bmN0aW9uIGJlbG93IHNob3VsZCBiZSBjaGFuZ2VkXHJcbiAgICBjb25zdCBjbG9uZWQgPSB0aGlzLl9kYXRhLm1hcCgoeCkgPT4gT2JqZWN0LmFzc2lnbih7fSwgeCkpO1xyXG5cclxuICAgIC8vIElmIGRhdGEgaXMgZmxhdCwgcHJlcGFyZSBkYXRhIHdpdGggcmVjdXJzaXZlIGZ1bmN0aW9uLlxyXG4gICAgdGhpcy5ub2RlcyA9IHRoaXMucHJlcGFyZURhdGEgPyB0aGlzLl9nZXRQcmVwYXJlZERhdGEoY2xvbmVkKSA6IHRoaXMuX2RhdGE7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEaWUgTWV0aG9kZSBjb2xsYXBzZS9leHBhbmQgZGVuIHNlbGVjdGllcnRlbiBOb2RlXHJcbiAgICovXHJcbiAgb25Db2xsYXBzZUNsaWNrKG5vZGUpIHtcclxuICAgIGlmIChub2RlW3RoaXMuY2hpbGRyZW5BdHRyXS5sZW5ndGgpIHtcclxuICAgICAgbm9kZVt0aGlzLmNvbGxhcHNlQXR0cl0gPSAhbm9kZVt0aGlzLmNvbGxhcHNlQXR0cl07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEaWUgTWV0aG9kZSBzZXQgZGVuIHNlbGVrdGllcnRlbiBOb2RlIHVuZCBlbWl0IGVzLlxyXG4gICAqL1xyXG4gIG9uQ2xpY2sobm9kZSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZE5vZGUgPSBub2RlO1xyXG4gICAgdGhpcy5zZWxlY3RlZGl0ZW0uZW1pdCh0aGlzLnNlbGVjdGVkTm9kZSk7XHJcbiAgICAvLyB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERpZSBNZXRob2RlIHdpcmQgZWluIGV2ZW50IG1pdCBNZWxkdW5nIHp1IFBhcmVudCBlbWl0LWVuLlxyXG4gICAqL1xyXG4gIHNlbmRNc2dUb1BhcmVudChtc2cpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRpdGVtLmVtaXQobXNnKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERpZSBNZXRob2RlIHdpcmQgYWxsZSBOb2RlcyBjb2xsYXBzZVxyXG4gICAqL1xyXG4gIGNvbGxhcHNlQWxsTm9kZShjb21tYW5kKSB7XHJcbiAgICB0aGlzLm5vZGVzLmZvckVhY2goKG5vZGUpID0+IHtcclxuICAgICAgaWYgKG5vZGVbdGhpcy5jaGlsZHJlbkF0dHJdLmxlbmd0aCkge1xyXG4gICAgICAgIGNvbGxhcHNlQWxsSElkZGVuKG5vZGUsIHRoaXMuY29sbGFwc2VBdHRyLCBjb21tYW5kLCB0aGlzLmNoaWxkcmVuQXR0cik7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgZnVuY3Rpb24gY29sbGFwc2VBbGxISWRkZW4obm9kZSwgY29sbGFwc2VBdHRyLCBjb21tYW5kLCBjaGlsZHJlbkF0dHIpIHtcclxuICAgICAgbm9kZVtjb2xsYXBzZUF0dHJdID0gY29tbWFuZDtcclxuICAgICAgbm9kZS5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZDogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGNoaWxkW2NoaWxkcmVuQXR0cl0ubGVuZ3RoKSB7XHJcbiAgICAgICAgICBjb2xsYXBzZUFsbEhJZGRlbihjaGlsZCwgY29sbGFwc2VBdHRyLCBjb21tYW5kLCBjaGlsZHJlbkF0dHIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGdW5rdGlvbiBnaWJ0IG5vZGUgYXVzIGRlciBsaXN0ZSB6dXLDvGNrLCB3ZWxjaGVzIGRhcyBWYWx1ZSBhdWYgZGVtIGdld8O8bnNjaHRlbiBBdHRyaWJ1dCBoYXRcclxuICAgKiBXZW5uIG5vZGUgbmljaHQgZ2VmdW5kZW4gd2lyZCwgd2lyZCBudWxsIHp1csO8Y2sgZ2VnZWJlblxyXG4gICAqIEBwYXJhbSBkYXRhIExpc3RlIGRlciBub2Rlc1xyXG4gICAqIEBwYXJhbSBzZWFyY2hWYWx1ZSBEYXMgZ2VzdWNodGUgdmFsdWVcclxuICAgKiBAcGFyYW0gYXR0ciBEZXIgbmFtZW4gZGVzIEF0dHJpYnV0cyBhdWYgZGVtIGRhcyB2YWx1ZSBnZXN1Y2h0IHdpcmRcclxuICAgKi9cclxuICBwcml2YXRlIGZpbmROb2RlKGRhdGEsIHNlYXJjaFZhbHVlLCBhdHRyKTogYW55IHtcclxuICAgIGxldCByZXN1bHQ6IGFueSA9IG51bGw7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKGRhdGFbaV1bYXR0cl0gPT0gc2VhcmNoVmFsdWUpIHJlc3VsdCA9IGRhdGFbaV07XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGlmIChkYXRhW2ldW3RoaXMuY2hpbGRyZW5BdHRyXS5sZW5ndGgpIHtcclxuICAgICAgICAgIGxldCByZWN1cnNpdmVSZXN1bHQgPSB0aGlzLmZpbmROb2RlKFxyXG4gICAgICAgICAgICBkYXRhW2ldW3RoaXMuY2hpbGRyZW5BdHRyXSxcclxuICAgICAgICAgICAgc2VhcmNoVmFsdWUsXHJcbiAgICAgICAgICAgIGF0dHJcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICBpZiAocmVjdXJzaXZlUmVzdWx0KSByZXN1bHQgPSByZWN1cnNpdmVSZXN1bHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGllIE1ldGhvZGUgZWRpdGllcnQgKHJlY3Vyc2l2ZSkgYWxsZSBlaW5nZWdlYmVuZSBOb2RlcyBhYmjDpG5naWcgdm9uIGdlZ2ViZW5lbiBBdHRpYnV0ZSB1bmQgVmFsdWUgS3JpdGVyaWVuLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgX3JlY3Vyc2l2ZUVkaXQobGlzdCwgY2hpbGRyZW5BdHRyLCBhdHRyLCB2YWx1ZSkge1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkobGlzdCkpIHtcclxuICAgICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IGxpc3QubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgICBsaXN0W2ldW2F0dHJdID0gdmFsdWU7XHJcbiAgICAgICAgaWYgKGxpc3RbaV1bY2hpbGRyZW5BdHRyXS5sZW5ndGgpIHtcclxuICAgICAgICAgIHRoaXMuX3JlY3Vyc2l2ZUVkaXQobGlzdFtpXVtjaGlsZHJlbkF0dHJdLCBjaGlsZHJlbkF0dHIsIGF0dHIsIHZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERpZSBNZXRob2RlIGVyc3RlbGx0IGVpbmUgc3RhbmRhcnRlIFNpY2h0LUxpc3RlIHZvbiBOb2Rlc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgX2dldFByZXBhcmVkRGF0YShsaXN0KSB7XHJcbiAgICBjb25zdCB0cmVlID0gW10sXHJcbiAgICAgIGxvb2t1cCA9IHt9O1xyXG4gICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IGxpc3QubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgbG9va3VwW2xpc3RbaV1bdGhpcy5pZEF0dHJdXSA9IGxpc3RbaV07XHJcbiAgICAgIGxpc3RbaV1bdGhpcy5jaGlsZHJlbkF0dHJdID0gW107XHJcbiAgICAgIGxpc3RbaV1bdGhpcy5jb2xsYXBzZUF0dHJdID0gdHJ1ZTtcclxuICAgICAgbGlzdFtpXVt0aGlzLnNlbGVjdEF0dHJdID0gZmFsc2U7XHJcbiAgICAgIGxpc3RbaV1bdGhpcy5pbkRldGVybWluYXRlQXR0cl0gPSBmYWxzZTtcclxuICAgIH1cclxuICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSBsaXN0Lmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgIGlmIChsaXN0W2ldW3RoaXMucGFyZW50QXR0cl0pIHtcclxuICAgICAgICBsb29rdXBbbGlzdFtpXVt0aGlzLnBhcmVudEF0dHJdXVt0aGlzLmNoaWxkcmVuQXR0cl0ucHVzaChsaXN0W2ldKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0cmVlLnB1c2gobGlzdFtpXSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdHJlZTtcclxuICB9XHJcbn1cclxuIl19
|
|
1
|
+
function cov_2ox2r433ne(){var path="/home/runner/work/simpleangularcontrols/simpleangularcontrols/ch.jnetwork.sac-controls/dist/sac-common/esm2020/controls/treeview/treeview.mjs";var hash="7f7657f244909f3d8e7b431ebb067cf6ca0969d0";var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"/home/runner/work/simpleangularcontrols/simpleangularcontrols/ch.jnetwork.sac-controls/dist/sac-common/esm2020/controls/treeview/treeview.mjs",statementMap:{"0":{start:{line:17,column:8},end:{line:17,column:36}},"1":{start:{line:22,column:8},end:{line:22,column:48}},"2":{start:{line:26,column:8},end:{line:26,column:39}},"3":{start:{line:30,column:8},end:{line:30,column:44}},"4":{start:{line:34,column:8},end:{line:34,column:39}},"5":{start:{line:38,column:8},end:{line:38,column:43}},"6":{start:{line:42,column:8},end:{line:42,column:29}},"7":{start:{line:46,column:8},end:{line:46,column:27}},"8":{start:{line:50,column:8},end:{line:50,column:33}},"9":{start:{line:54,column:8},end:{line:54,column:39}},"10":{start:{line:58,column:8},end:{line:58,column:44}},"11":{start:{line:62,column:8},end:{line:62,column:23}},"12":{start:{line:66,column:8},end:{line:66,column:38}},"13":{start:{line:70,column:8},end:{line:70,column:35}},"14":{start:{line:74,column:8},end:{line:74,column:43}},"15":{start:{line:78,column:8},end:{line:78,column:34}},"16":{start:{line:82,column:8},end:{line:82,column:32}},"17":{start:{line:86,column:8},end:{line:86,column:23}},"18":{start:{line:90,column:8},end:{line:90,column:43}},"19":{start:{line:94,column:8},end:{line:94,column:47}},"20":{start:{line:98,column:8},end:{line:98,column:91}},"21":{start:{line:102,column:8},end:{line:102,column:105}},"22":{start:{line:107,column:8},end:{line:107,column:55}},"23":{start:{line:114,column:8},end:{line:114,column:55}},"24":{start:{line:121,column:8},end:{line:121,column:54}},"25":{start:{line:128,column:8},end:{line:128,column:53}},"26":{start:{line:138,column:8},end:{line:138,column:31}},"27":{start:{line:141,column:8},end:{line:143,column:9}},"28":{start:{line:142,column:12},end:{line:142,column:22}},"29":{start:{line:144,column:23},end:{line:144,column:46}},"30":{start:{line:145,column:8},end:{line:147,column:9}},"31":{start:{line:146,column:12},end:{line:146,column:22}},"32":{start:{line:148,column:8},end:{line:148,column:24}},"33":{start:{line:151,column:8},end:{line:153,column:9}},"34":{start:{line:152,column:12},end:{line:152,column:22}},"35":{start:{line:154,column:8},end:{line:156,column:9}},"36":{start:{line:155,column:12},end:{line:155,column:24}},"37":{start:{line:157,column:20},end:{line:157,column:35}},"38":{start:{line:158,column:8},end:{line:160,column:9}},"39":{start:{line:159,column:12},end:{line:159,column:22}},"40":{start:{line:161,column:8},end:{line:161,column:21}},"41":{start:{line:164,column:8},end:{line:164,column:49}},"42":{start:{line:167,column:8},end:{line:169,column:9}},"43":{start:{line:168,column:12},end:{line:168,column:25}},"44":{start:{line:170,column:20},end:{line:170,column:48}},"45":{start:{line:171,column:8},end:{line:171,column:50}},"46":{start:{line:174,column:8},end:{line:176,column:9}},"47":{start:{line:175,column:12},end:{line:175,column:25}},"48":{start:{line:177,column:20},end:{line:177,column:43}},"49":{start:{line:178,column:8},end:{line:178,column:50}},"50":{start:{line:181,column:8},end:{line:183,column:9}},"51":{start:{line:182,column:12},end:{line:182,column:25}},"52":{start:{line:184,column:20},end:{line:184,column:45}},"53":{start:{line:185,column:8},end:{line:185,column:50}},"54":{start:{line:188,column:8},end:{line:190,column:9}},"55":{start:{line:189,column:12},end:{line:189,column:25}},"56":{start:{line:191,column:20},end:{line:191,column:43}},"57":{start:{line:192,column:8},end:{line:192,column:50}},"58":{start:{line:199,column:8},end:{line:199,column:40}},"59":{start:{line:206,column:8},end:{line:208,column:9}},"60":{start:{line:207,column:12},end:{line:207,column:43}},"61":{start:{line:209,column:8},end:{line:209,column:36}},"62":{start:{line:217,column:8},end:{line:219,column:9}},"63":{start:{line:218,column:12},end:{line:218,column:19}},"64":{start:{line:220,column:8},end:{line:223,column:9}},"65":{start:{line:221,column:12},end:{line:221,column:45}},"66":{start:{line:222,column:12},end:{line:222,column:19}},"67":{start:{line:224,column:8},end:{line:226,column:9}},"68":{start:{line:225,column:12},end:{line:225,column:19}},"69":{start:{line:227,column:8},end:{line:227,column:41}},"70":{start:{line:234,column:8},end:{line:236,column:9}},"71":{start:{line:235,column:12},end:{line:235,column:19}},"72":{start:{line:238,column:8},end:{line:238,column:75}},"73":{start:{line:238,column:40},end:{line:238,column:73}},"74":{start:{line:240,column:8},end:{line:240,column:39}},"75":{start:{line:242,column:24},end:{line:242,column:41}},"76":{start:{line:244,column:8},end:{line:244,column:31}},"77":{start:{line:246,column:8},end:{line:246,column:37}},"78":{start:{line:247,column:8},end:{line:249,column:9}},"79":{start:{line:248,column:12},end:{line:248,column:19}},"80":{start:{line:250,column:17},end:{line:250,column:55}},"81":{start:{line:251,column:8},end:{line:251,column:31}},"82":{start:{line:259,column:20},end:{line:259,column:24}},"83":{start:{line:260,column:8},end:{line:262,column:9}},"84":{start:{line:261,column:12},end:{line:261,column:114}},"85":{start:{line:263,column:8},end:{line:263,column:21}},"86":{start:{line:270,column:8},end:{line:270,column:32}},"87":{start:{line:272,column:8},end:{line:274,column:9}},"88":{start:{line:273,column:12},end:{line:273,column:19}},"89":{start:{line:275,column:8},end:{line:280,column:11}},"90":{start:{line:276,column:27},end:{line:276,column:57}},"91":{start:{line:277,column:12},end:{line:279,column:13}},"92":{start:{line:278,column:16},end:{line:278,column:46}},"93":{start:{line:291,column:8},end:{line:293,column:9}},"94":{start:{line:292,column:12},end:{line:292,column:24}},"95":{start:{line:294,column:8},end:{line:296,column:9}},"96":{start:{line:295,column:12},end:{line:295,column:24}},"97":{start:{line:297,column:25},end:{line:297,column:47}},"98":{start:{line:298,column:8},end:{line:303,column:9}},"99":{start:{line:299,column:27},end:{line:299,column:58}},"100":{start:{line:300,column:12},end:{line:302,column:13}},"101":{start:{line:301,column:16},end:{line:301,column:30}},"102":{start:{line:304,column:8},end:{line:304,column:20}},"103":{start:{line:307,column:8},end:{line:309,column:9}},"104":{start:{line:308,column:12},end:{line:308,column:19}},"105":{start:{line:311,column:8},end:{line:313,column:9}},"106":{start:{line:312,column:12},end:{line:312,column:19}},"107":{start:{line:314,column:20},end:{line:314,column:43}},"108":{start:{line:315,column:8},end:{line:322,column:9}},"109":{start:{line:316,column:12},end:{line:316,column:38}},"110":{start:{line:317,column:12},end:{line:317,column:44}},"111":{start:{line:320,column:12},end:{line:320,column:37}},"112":{start:{line:321,column:12},end:{line:321,column:43}},"113":{start:{line:325,column:8},end:{line:327,column:9}},"114":{start:{line:326,column:12},end:{line:326,column:19}},"115":{start:{line:328,column:8},end:{line:328,column:40}},"116":{start:{line:329,column:8},end:{line:331,column:11}},"117":{start:{line:330,column:12},end:{line:330,column:43}},"118":{start:{line:334,column:0},end:{line:334,column:248}},"119":{start:{line:335,column:0},end:{line:335,column:957}},"120":{start:{line:336,column:0},end:{line:390,column:20}},"121":{start:{line:338,column:42},end:{line:340,column:45}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:16,column:4},end:{line:16,column:5}},loc:{start:{line:16,column:38},end:{line:103,column:5}},line:16},"1":{name:"(anonymous_1)",decl:{start:{line:106,column:4},end:{line:106,column:5}},loc:{start:{line:106,column:21},end:{line:108,column:5}},line:106},"2":{name:"(anonymous_2)",decl:{start:{line:113,column:4},end:{line:113,column:5}},loc:{start:{line:113,column:30},end:{line:115,column:5}},line:113},"3":{name:"(anonymous_3)",decl:{start:{line:120,column:4},end:{line:120,column:5}},loc:{start:{line:120,column:26},end:{line:122,column:5}},line:120},"4":{name:"(anonymous_4)",decl:{start:{line:127,column:4},end:{line:127,column:5}},loc:{start:{line:127,column:25},end:{line:129,column:5}},line:127},"5":{name:"(anonymous_5)",decl:{start:{line:137,column:4},end:{line:137,column:5}},loc:{start:{line:137,column:16},end:{line:139,column:5}},line:137},"6":{name:"(anonymous_6)",decl:{start:{line:140,column:4},end:{line:140,column:5}},loc:{start:{line:140,column:22},end:{line:149,column:5}},line:140},"7":{name:"(anonymous_7)",decl:{start:{line:150,column:4},end:{line:150,column:5}},loc:{start:{line:150,column:36},end:{line:162,column:5}},line:150},"8":{name:"(anonymous_8)",decl:{start:{line:163,column:4},end:{line:163,column:5}},loc:{start:{line:163,column:22},end:{line:165,column:5}},line:163},"9":{name:"(anonymous_9)",decl:{start:{line:166,column:4},end:{line:166,column:5}},loc:{start:{line:166,column:26},end:{line:172,column:5}},line:166},"10":{name:"(anonymous_10)",decl:{start:{line:173,column:4},end:{line:173,column:5}},loc:{start:{line:173,column:26},end:{line:179,column:5}},line:173},"11":{name:"(anonymous_11)",decl:{start:{line:180,column:4},end:{line:180,column:5}},loc:{start:{line:180,column:23},end:{line:186,column:5}},line:180},"12":{name:"(anonymous_12)",decl:{start:{line:187,column:4},end:{line:187,column:5}},loc:{start:{line:187,column:26},end:{line:193,column:5}},line:187},"13":{name:"(anonymous_13)",decl:{start:{line:198,column:4},end:{line:198,column:5}},loc:{start:{line:198,column:28},end:{line:200,column:5}},line:198},"14":{name:"(anonymous_14)",decl:{start:{line:205,column:4},end:{line:205,column:5}},loc:{start:{line:205,column:24},end:{line:210,column:5}},line:205},"15":{name:"(anonymous_15)",decl:{start:{line:216,column:4},end:{line:216,column:5}},loc:{start:{line:216,column:31},end:{line:228,column:5}},line:216},"16":{name:"(anonymous_16)",decl:{start:{line:233,column:4},end:{line:233,column:5}},loc:{start:{line:233,column:27},end:{line:252,column:5}},line:233},"17":{name:"(anonymous_17)",decl:{start:{line:238,column:26},end:{line:238,column:27}},loc:{start:{line:238,column:40},end:{line:238,column:73}},line:238},"18":{name:"(anonymous_18)",decl:{start:{line:258,column:4},end:{line:258,column:5}},loc:{start:{line:258,column:20},end:{line:264,column:5}},line:258},"19":{name:"(anonymous_19)",decl:{start:{line:269,column:4},end:{line:269,column:5}},loc:{start:{line:269,column:22},end:{line:281,column:5}},line:269},"20":{name:"(anonymous_20)",decl:{start:{line:275,column:26},end:{line:275,column:27}},loc:{start:{line:275,column:36},end:{line:280,column:9}},line:275},"21":{name:"(anonymous_21)",decl:{start:{line:290,column:4},end:{line:290,column:5}},loc:{start:{line:290,column:30},end:{line:305,column:5}},line:290},"22":{name:"(anonymous_22)",decl:{start:{line:306,column:4},end:{line:306,column:5}},loc:{start:{line:306,column:30},end:{line:323,column:5}},line:306},"23":{name:"(anonymous_23)",decl:{start:{line:324,column:4},end:{line:324,column:5}},loc:{start:{line:324,column:29},end:{line:332,column:5}},line:324},"24":{name:"(anonymous_24)",decl:{start:{line:329,column:39},end:{line:329,column:40}},loc:{start:{line:329,column:50},end:{line:331,column:9}},line:329},"25":{name:"(anonymous_25)",decl:{start:{line:338,column:28},end:{line:338,column:29}},loc:{start:{line:338,column:40},end:{line:340,column:47}},line:338}},branchMap:{"0":{loc:{start:{line:141,column:8},end:{line:143,column:9}},type:"if",locations:[{start:{line:141,column:8},end:{line:143,column:9}},{start:{line:141,column:8},end:{line:143,column:9}}],line:141},"1":{loc:{start:{line:141,column:12},end:{line:141,column:39}},type:"binary-expr",locations:[{start:{line:141,column:12},end:{line:141,column:17}},{start:{line:141,column:21},end:{line:141,column:39}}],line:141},"2":{loc:{start:{line:145,column:8},end:{line:147,column:9}},type:"if",locations:[{start:{line:145,column:8},end:{line:147,column:9}},{start:{line:145,column:8},end:{line:147,column:9}}],line:145},"3":{loc:{start:{line:151,column:8},end:{line:153,column:9}},type:"if",locations:[{start:{line:151,column:8},end:{line:153,column:9}},{start:{line:151,column:8},end:{line:153,column:9}}],line:151},"4":{loc:{start:{line:154,column:8},end:{line:156,column:9}},type:"if",locations:[{start:{line:154,column:8},end:{line:156,column:9}},{start:{line:154,column:8},end:{line:156,column:9}}],line:154},"5":{loc:{start:{line:158,column:8},end:{line:160,column:9}},type:"if",locations:[{start:{line:158,column:8},end:{line:160,column:9}},{start:{line:158,column:8},end:{line:160,column:9}}],line:158},"6":{loc:{start:{line:167,column:8},end:{line:169,column:9}},type:"if",locations:[{start:{line:167,column:8},end:{line:169,column:9}},{start:{line:167,column:8},end:{line:169,column:9}}],line:167},"7":{loc:{start:{line:167,column:12},end:{line:167,column:44}},type:"binary-expr",locations:[{start:{line:167,column:12},end:{line:167,column:17}},{start:{line:167,column:21},end:{line:167,column:44}}],line:167},"8":{loc:{start:{line:171,column:15},end:{line:171,column:49}},type:"binary-expr",locations:[{start:{line:171,column:15},end:{line:171,column:29}},{start:{line:171,column:33},end:{line:171,column:49}}],line:171},"9":{loc:{start:{line:174,column:8},end:{line:176,column:9}},type:"if",locations:[{start:{line:174,column:8},end:{line:176,column:9}},{start:{line:174,column:8},end:{line:176,column:9}}],line:174},"10":{loc:{start:{line:174,column:12},end:{line:174,column:39}},type:"binary-expr",locations:[{start:{line:174,column:12},end:{line:174,column:17}},{start:{line:174,column:21},end:{line:174,column:39}}],line:174},"11":{loc:{start:{line:178,column:15},end:{line:178,column:49}},type:"binary-expr",locations:[{start:{line:178,column:15},end:{line:178,column:29}},{start:{line:178,column:33},end:{line:178,column:49}}],line:178},"12":{loc:{start:{line:181,column:8},end:{line:183,column:9}},type:"if",locations:[{start:{line:181,column:8},end:{line:183,column:9}},{start:{line:181,column:8},end:{line:183,column:9}}],line:181},"13":{loc:{start:{line:181,column:12},end:{line:181,column:41}},type:"binary-expr",locations:[{start:{line:181,column:12},end:{line:181,column:17}},{start:{line:181,column:21},end:{line:181,column:41}}],line:181},"14":{loc:{start:{line:185,column:15},end:{line:185,column:49}},type:"binary-expr",locations:[{start:{line:185,column:15},end:{line:185,column:29}},{start:{line:185,column:33},end:{line:185,column:49}}],line:185},"15":{loc:{start:{line:188,column:8},end:{line:190,column:9}},type:"if",locations:[{start:{line:188,column:8},end:{line:190,column:9}},{start:{line:188,column:8},end:{line:190,column:9}}],line:188},"16":{loc:{start:{line:188,column:12},end:{line:188,column:39}},type:"binary-expr",locations:[{start:{line:188,column:12},end:{line:188,column:17}},{start:{line:188,column:21},end:{line:188,column:39}}],line:188},"17":{loc:{start:{line:192,column:15},end:{line:192,column:49}},type:"binary-expr",locations:[{start:{line:192,column:15},end:{line:192,column:29}},{start:{line:192,column:33},end:{line:192,column:49}}],line:192},"18":{loc:{start:{line:206,column:8},end:{line:208,column:9}},type:"if",locations:[{start:{line:206,column:8},end:{line:208,column:9}},{start:{line:206,column:8},end:{line:208,column:9}}],line:206},"19":{loc:{start:{line:206,column:12},end:{line:206,column:68}},type:"binary-expr",locations:[{start:{line:206,column:12},end:{line:206,column:38}},{start:{line:206,column:42},end:{line:206,column:68}}],line:206},"20":{loc:{start:{line:217,column:8},end:{line:219,column:9}},type:"if",locations:[{start:{line:217,column:8},end:{line:219,column:9}},{start:{line:217,column:8},end:{line:219,column:9}}],line:217},"21":{loc:{start:{line:217,column:12},end:{line:217,column:41}},type:"binary-expr",locations:[{start:{line:217,column:12},end:{line:217,column:17}},{start:{line:217,column:21},end:{line:217,column:41}}],line:217},"22":{loc:{start:{line:220,column:8},end:{line:223,column:9}},type:"if",locations:[{start:{line:220,column:8},end:{line:223,column:9}},{start:{line:220,column:8},end:{line:223,column:9}}],line:220},"23":{loc:{start:{line:224,column:8},end:{line:226,column:9}},type:"if",locations:[{start:{line:224,column:8},end:{line:226,column:9}},{start:{line:224,column:8},end:{line:226,column:9}}],line:224},"24":{loc:{start:{line:234,column:8},end:{line:236,column:9}},type:"if",locations:[{start:{line:234,column:8},end:{line:236,column:9}},{start:{line:234,column:8},end:{line:236,column:9}}],line:234},"25":{loc:{start:{line:234,column:12},end:{line:234,column:39}},type:"binary-expr",locations:[{start:{line:234,column:12},end:{line:234,column:17}},{start:{line:234,column:21},end:{line:234,column:39}}],line:234},"26":{loc:{start:{line:247,column:8},end:{line:249,column:9}},type:"if",locations:[{start:{line:247,column:8},end:{line:249,column:9}},{start:{line:247,column:8},end:{line:249,column:9}}],line:247},"27":{loc:{start:{line:260,column:8},end:{line:262,column:9}},type:"if",locations:[{start:{line:260,column:8},end:{line:262,column:9}},{start:{line:260,column:8},end:{line:262,column:9}}],line:260},"28":{loc:{start:{line:272,column:8},end:{line:274,column:9}},type:"if",locations:[{start:{line:272,column:8},end:{line:274,column:9}},{start:{line:272,column:8},end:{line:274,column:9}}],line:272},"29":{loc:{start:{line:277,column:12},end:{line:279,column:13}},type:"if",locations:[{start:{line:277,column:12},end:{line:279,column:13}},{start:{line:277,column:12},end:{line:279,column:13}}],line:277},"30":{loc:{start:{line:291,column:8},end:{line:293,column:9}},type:"if",locations:[{start:{line:291,column:8},end:{line:293,column:9}},{start:{line:291,column:8},end:{line:293,column:9}}],line:291},"31":{loc:{start:{line:291,column:12},end:{line:291,column:33}},type:"binary-expr",locations:[{start:{line:291,column:12},end:{line:291,column:24}},{start:{line:291,column:28},end:{line:291,column:33}}],line:291},"32":{loc:{start:{line:294,column:8},end:{line:296,column:9}},type:"if",locations:[{start:{line:294,column:8},end:{line:296,column:9}},{start:{line:294,column:8},end:{line:296,column:9}}],line:294},"33":{loc:{start:{line:300,column:12},end:{line:302,column:13}},type:"if",locations:[{start:{line:300,column:12},end:{line:302,column:13}},{start:{line:300,column:12},end:{line:302,column:13}}],line:300},"34":{loc:{start:{line:307,column:8},end:{line:309,column:9}},type:"if",locations:[{start:{line:307,column:8},end:{line:309,column:9}},{start:{line:307,column:8},end:{line:309,column:9}}],line:307},"35":{loc:{start:{line:307,column:12},end:{line:307,column:39}},type:"binary-expr",locations:[{start:{line:307,column:12},end:{line:307,column:17}},{start:{line:307,column:21},end:{line:307,column:39}}],line:307},"36":{loc:{start:{line:311,column:8},end:{line:313,column:9}},type:"if",locations:[{start:{line:311,column:8},end:{line:313,column:9}},{start:{line:311,column:8},end:{line:313,column:9}}],line:311},"37":{loc:{start:{line:311,column:12},end:{line:311,column:108}},type:"binary-expr",locations:[{start:{line:311,column:12},end:{line:311,column:35}},{start:{line:311,column:39},end:{line:311,column:108}}],line:311},"38":{loc:{start:{line:311,column:41},end:{line:311,column:107}},type:"binary-expr",locations:[{start:{line:311,column:41},end:{line:311,column:71}},{start:{line:311,column:75},end:{line:311,column:107}}],line:311},"39":{loc:{start:{line:315,column:8},end:{line:322,column:9}},type:"if",locations:[{start:{line:315,column:8},end:{line:322,column:9}},{start:{line:315,column:8},end:{line:322,column:9}}],line:315},"40":{loc:{start:{line:315,column:12},end:{line:315,column:46}},type:"binary-expr",locations:[{start:{line:315,column:12},end:{line:315,column:26}},{start:{line:315,column:30},end:{line:315,column:46}}],line:315},"41":{loc:{start:{line:325,column:8},end:{line:327,column:9}},type:"if",locations:[{start:{line:325,column:8},end:{line:327,column:9}},{start:{line:325,column:8},end:{line:327,column:9}}],line:325},"42":{loc:{start:{line:325,column:12},end:{line:325,column:39}},type:"binary-expr",locations:[{start:{line:325,column:12},end:{line:325,column:17}},{start:{line:325,column:21},end:{line:325,column:39}}],line:325}},s:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0},f:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0},b:{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0]},inputSourceMap:{version:3,file:"treeview.js",sourceRoot:"",sources:["../../../../../projects/sac-common/src/controls/treeview/treeview.ts"],names:[],mappings:"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",sourcesContent:["import { SacBaseModelControl } from '../../common/basemodelcontrol';\nimport { TreeviewAction } from '../../interfaces/treeviewaction.interface';\nimport { Validation } from '../../validation';\nimport { SacFormLayoutCommon } from '../layout/formlayout';\nimport { Directive, EventEmitter, Host, Injector, Input, Output, TemplateRef } from '@angular/core';\nimport { AbstractControl, ValidationErrors } from '@angular/forms';\n\n/**\n * Basis Komponente f\xFCr SacTreeView\n */\n@Directive()\nexport class SacTreeviewCommon extends SacBaseModelControl<any> {\n // #region Properties\n\n /**\n * Event when Action is clicked on Node. An object of the type 'TreeviewAction' is returned. In the default case, 'action' in this object is always the value 'default'. The value can be changed via the 'templateaction'.\n */\n @Output()\n public actionclicked: EventEmitter<TreeviewAction> = new EventEmitter<TreeviewAction>();\n\n /**\n * Property on the data object that contains the children of the structure element. Must be an array of objects. The default value is 'children'\n */\n @Input()\n public attrchildren = 'children';\n\n /**\n * Defines the property on the 'data' object with which the actions for a node can be deactivated. A 'disabled' property is used by default.\n */\n @Input() public attrdisableaction = 'disabled';\n\n /**\n * Property on the 'data' object that stores the expanded state. Property must be of type boolean. Default is 'expanded'\n */\n @Input()\n public attrexpanded = 'expanded';\n\n /**\n * Property for saving the HoverState on the field. If the property is not present on the node, it is automatically created and removed again. The value can usually be left at the default value unless there is a conflict with a property on the node that is required for other purposes.\n */\n @Input()\n public attrhoverstate = 'hoverstate';\n\n /**\n * Property on 'data' object, which contains the icon for the node. By default, the property is not set, which hides the icon in the node.\n */\n @Input()\n public attricon: string | null = null;\n\n /**\n * property on the 'data' object contains an ID of the node. The default is 'id'. If the property is set to NULL, the selectedId event is no longer triggered.\n */\n @Input()\n public attrid: string | null = 'id';\n\n /**\n * Property on 'data' object, which contains the label for the node. Default is 'label'\n */\n @Input()\n public attrlabel = 'label';\n\n /**\n * Property on 'data' object, which defines whether the node is selected or not. It should be ensured that only 1 node has the value for Selected set to true. Default is 'selected'.\n */\n @Input()\n public attrselected = 'selected';\n\n /**\n * Event when a node is collapsed. Returns the node element as a parameter\n */\n @Output()\n public collabsed: EventEmitter<any> = new EventEmitter<any>();\n\n /**\n * The property contains an array of nodes. The data must already map the tree via child properties.\n */\n @Input()\n public data: any[] = [];\n\n /**\n * Activates the 'expand' and 'collabse' event even if a node has no children. This is helpful if node elements are to be reloaded at runtime.\n */\n @Input()\n public enableasynchload: boolean | string = false;\n\n /**\n * Activates Ellipsis on the node labels\n */\n @Input()\n public enableellipsis = true;\n\n /**\n * Event when a node is expanded. Returns the node element as a parameter\n */\n @Output()\n public expanded: EventEmitter<any> = new EventEmitter<any>();\n\n /**\n * Defines whether an icon for the expanded/collapsed status should be displayed.\n */\n @Input()\n public expandedstate: boolean | string = true;\n\n /**\n * A node must be selected\n */\n @Input()\n public isrequired: boolean = false;\n\n /**\n * Name of the TreeView control\n */\n @Input()\n public name: string = '';\n\n /**\n * Event when a node is selected. Returns the id attribute as a parameter. The event is not triggered if 'attrid' is not set.\n */\n @Output()\n public selected: EventEmitter<any> = new EventEmitter<any>();\n\n /**\n * Event when a node is selected. Returns the node element as a parameter.\n */\n @Output()\n public selectednode: EventEmitter<any> = new EventEmitter<any>();\n\n /**\n * Defines that the action template is displayed independently of the selected state. If the value is 'true', the action template is displayed for every element.\n */\n @Input()\n public showactionalways;\n\n /**\n * Custom template for actions per node. Template parameters are: 'node'\n */\n @Input()\n public templateaction: TemplateRef<any>;\n\n /**\n * Custom template for icon per node. Template parameters are: 'node'\n */\n @Input()\n public templateicon: TemplateRef<any>;\n\n /**\n * Custom template for the label area per node. Template parameters are: 'node' and 'label'\n */\n @Input()\n public templatelabel: TemplateRef<any>;\n\n /**\n * Resource Key f\xFCr Validation Message Required bei Control\n */\n @Input() public validationmessagerequired: string = this.validationKeyService.ValidationErrorRequired;\n\n /**\n * Resource Key f\xFCr Validation Message Required in Validation Summary\n */\n @Input()\n public validationmessagesummaryrequired: string = this.validationKeyService.ValidationErrorSummaryRequired;\n\n // #endregion Properties\n\n // #region Constructors\n\n /**\n * Constructor\n * @param injector Service Injector\n */\n constructor(@Host() formlayout: SacFormLayoutCommon, injector: Injector) {\n super(formlayout, injector);\n }\n\n // #endregion Constructors\n\n // #region Public Getters And Setters\n\n public get iconAction(): string {\n return this.iconService.TreeviewNodeActionIcon;\n }\n\n /**\n * CSS icon for folders in tree there are collabsed\n * @returns css class with icon\n */\n public get iconFolderCollabsed(): string {\n return this.iconService.TreeviewNodeClosedIcon;\n }\n\n /**\n * CSS icon class for folders without subfolders\n * @returns css class with icon\n */\n public get iconFolderEmpty(): string {\n return this.iconService.TreeviewNodeEmptyIcon;\n }\n\n /**\n * CSS icon for folders in tree there are expanded\n * @returns css class with icon\n */\n public get iconFolderOpen(): string {\n return this.iconService.TreeviewNodeOpenIcon;\n }\n\n // #endregion Public Getters And Setters\n\n // #region Public Methods\n\n /**\n * Creates an array of a certain size. Is required for a For in the UI, as Angular does not support counting loops\n * @param size Size of the array\n * @returns Array\n */\n public count(size: number): Array<void> {\n return new Array(size);\n }\n\n public getChildren(node: any): any[] {\n if (!node || !this.attrchildren) {\n return [];\n }\n\n let children = node[this.attrchildren];\n\n if (!Array.isArray(children)) {\n return [];\n }\n\n return children;\n }\n\n public getStringField(node: any, fieldname: string): any {\n if (!node) {\n return '';\n }\n\n if (!fieldname) {\n return node;\n }\n\n let value = node[fieldname];\n\n if (!value) {\n return '';\n }\n\n return value;\n }\n\n public hasChildren(node: any): boolean {\n return this.getChildren(node).length > 0;\n }\n\n public isDisabledState(node: any): boolean {\n if (!node || !this.attrdisableaction) {\n return false;\n }\n\n let value = node[this.attrdisableaction];\n return value === true || value === 'true';\n }\n\n public isExpandedState(node: any): boolean {\n if (!node || !this.attrexpanded) {\n return false;\n }\n\n let value = node[this.attrexpanded];\n return value === true || value === 'true';\n }\n\n public isHoverState(node: any): boolean {\n if (!node || !this.attrhoverstate) {\n return false;\n }\n\n let value = node[this.attrhoverstate];\n return value === true || value === 'true';\n }\n\n public isSelectedState(node: any): boolean {\n if (!node || !this.attrselected) {\n return false;\n }\n\n let value = node[this.attrselected];\n return value === true || value === 'true';\n }\n\n /**\n * Method is called by clicking an action\n * @param action action and node\n */\n public onActionClicked(action: TreeviewAction) {\n this.actionclicked.emit(action);\n }\n\n /**\n * Method is called when Node in Tree is clicked\n * @param node Selected Node\n */\n public onNodeClicked(node: any): void {\n if (this.isDisabledState(node) || this.isSelectedState(node)) {\n this.invertExpandedState(node);\n }\n\n this.setSelectedState(node);\n }\n\n /**\n * Sets the hover state on a node\n * @param node Node on which the status is set\n * @param state Activate or deactivate HoverState\n */\n public setHoverState(node: any, state: boolean) {\n if (!node || !this.attrhoverstate) {\n return;\n }\n\n if (state) {\n node[this.attrhoverstate] = true;\n return;\n }\n\n if (!node.hasOwnProperty(this.attrhoverstate)) {\n return;\n }\n\n delete node[this.attrhoverstate];\n }\n\n /**\n * Sets the selected state on a node\n * @param node Node which is marked as Selected\n */\n public setSelectedState(node: any): void {\n if (!node || !this.attrselected) {\n return;\n }\n\n // reset selected state of any node\n this.data.forEach((rootNode) => this.resetSelectedState(rootNode));\n\n // set selected node as selected\n node[this.attrselected] = true;\n\n // Extract ID from Node\n const idValue = node[this.attrid];\n\n // Update ngModel\n this.setValue(idValue);\n\n // Raise Selected Events\n this.selectednode.emit(node);\n\n if (!this.attrid) {\n return;\n }\n\n let id = this.getStringField(node, this.attrid);\n this.selected.emit(id);\n }\n\n /**\n * Validates the model state of the control\n * @param c Control instance\n * @returns Returns a validation error, if present. Otherwise, as Result is NULL\n */\n public validateData(c: AbstractControl): ValidationErrors | null {\n let error: ValidationErrors | null = null;\n\n if (this.isrequired) {\n error = Validation.required(this.validationmessagerequired, this.validationmessagesummaryrequired)(c);\n }\n\n return error;\n }\n\n /**\n * Saves the data from the model binding\n * @param value Id of the selected node\n */\n public writeValue(value: any): void {\n super.writeValue(value);\n\n // Do not preselct item when tree is empty\n if (!this.data) {\n return;\n }\n\n this.data.forEach((root) => {\n const result = this.findNodeById(root, value);\n\n if (result !== null) {\n this.setSelectedState(result);\n }\n });\n }\n\n // #endregion Public Methods\n\n // #region Private Methods\n\n /**\n * Searches for a node based on the value in the ID attribute\n * @param node Node\n * @param value Value of the Id attribute\n * @returns Returns the node if it is found. If not, NULL is returned.\n */\n private findNodeById(node: any, value: any): any {\n if (!this.attrid || !node) {\n return null;\n }\n\n if (node[this.attrid] === value) {\n return node;\n }\n\n const children = this.getChildren(node);\n for (let child of children) {\n const result = this.findNodeById(child, value);\n if (result !== null) {\n return result;\n }\n }\n\n return null;\n }\n\n private invertExpandedState(node: any) {\n if (!node || !this.attrexpanded) {\n return;\n }\n\n // Items with no children cannot be collabsed\n if (!this.hasChildren(node) && !(this.enableasynchload === true || this.enableasynchload === 'true')) {\n return;\n }\n\n let value = node[this.attrexpanded];\n\n if (value === true || value === 'true') {\n this.collabsed.emit(node);\n node[this.attrexpanded] = false;\n } else {\n this.expanded.emit(node);\n node[this.attrexpanded] = true;\n }\n }\n\n private resetSelectedState(node: any) {\n if (!node || !this.attrselected) {\n return;\n }\n\n node[this.attrselected] = false;\n\n this.getChildren(node).forEach((child) => {\n this.resetSelectedState(child);\n });\n }\n\n // #endregion Private Methods\n}\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"7f7657f244909f3d8e7b431ebb067cf6ca0969d0"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
|
|
2
|
+
cov_2ox2r433ne=function(){return actualCoverage;};}return actualCoverage;}cov_2ox2r433ne();import{SacBaseModelControl}from'../../common/basemodelcontrol';import{Validation}from'../../validation';import{Directive,EventEmitter,Host,Input,Output}from'@angular/core';import*as i0 from"@angular/core";import*as i1 from"../layout/formlayout";/**
|
|
3
|
+
* Basis Komponente für SacTreeView
|
|
4
|
+
*/export class SacTreeviewCommon extends SacBaseModelControl{// #endregion Properties
|
|
5
|
+
// #region Constructors
|
|
6
|
+
/**
|
|
7
|
+
* Constructor
|
|
8
|
+
* @param injector Service Injector
|
|
9
|
+
*/constructor(formlayout,injector){cov_2ox2r433ne().f[0]++;cov_2ox2r433ne().s[0]++;super(formlayout,injector);// #region Properties
|
|
10
|
+
/**
|
|
11
|
+
* Event when Action is clicked on Node. An object of the type 'TreeviewAction' is returned. In the default case, 'action' in this object is always the value 'default'. The value can be changed via the 'templateaction'.
|
|
12
|
+
*/cov_2ox2r433ne().s[1]++;this.actionclicked=new EventEmitter();/**
|
|
13
|
+
* Property on the data object that contains the children of the structure element. Must be an array of objects. The default value is 'children'
|
|
14
|
+
*/cov_2ox2r433ne().s[2]++;this.attrchildren='children';/**
|
|
15
|
+
* Defines the property on the 'data' object with which the actions for a node can be deactivated. A 'disabled' property is used by default.
|
|
16
|
+
*/cov_2ox2r433ne().s[3]++;this.attrdisableaction='disabled';/**
|
|
17
|
+
* Property on the 'data' object that stores the expanded state. Property must be of type boolean. Default is 'expanded'
|
|
18
|
+
*/cov_2ox2r433ne().s[4]++;this.attrexpanded='expanded';/**
|
|
19
|
+
* Property for saving the HoverState on the field. If the property is not present on the node, it is automatically created and removed again. The value can usually be left at the default value unless there is a conflict with a property on the node that is required for other purposes.
|
|
20
|
+
*/cov_2ox2r433ne().s[5]++;this.attrhoverstate='hoverstate';/**
|
|
21
|
+
* Property on 'data' object, which contains the icon for the node. By default, the property is not set, which hides the icon in the node.
|
|
22
|
+
*/cov_2ox2r433ne().s[6]++;this.attricon=null;/**
|
|
23
|
+
* property on the 'data' object contains an ID of the node. The default is 'id'. If the property is set to NULL, the selectedId event is no longer triggered.
|
|
24
|
+
*/cov_2ox2r433ne().s[7]++;this.attrid='id';/**
|
|
25
|
+
* Property on 'data' object, which contains the label for the node. Default is 'label'
|
|
26
|
+
*/cov_2ox2r433ne().s[8]++;this.attrlabel='label';/**
|
|
27
|
+
* Property on 'data' object, which defines whether the node is selected or not. It should be ensured that only 1 node has the value for Selected set to true. Default is 'selected'.
|
|
28
|
+
*/cov_2ox2r433ne().s[9]++;this.attrselected='selected';/**
|
|
29
|
+
* Event when a node is collapsed. Returns the node element as a parameter
|
|
30
|
+
*/cov_2ox2r433ne().s[10]++;this.collabsed=new EventEmitter();/**
|
|
31
|
+
* The property contains an array of nodes. The data must already map the tree via child properties.
|
|
32
|
+
*/cov_2ox2r433ne().s[11]++;this.data=[];/**
|
|
33
|
+
* Activates the 'expand' and 'collabse' event even if a node has no children. This is helpful if node elements are to be reloaded at runtime.
|
|
34
|
+
*/cov_2ox2r433ne().s[12]++;this.enableasynchload=false;/**
|
|
35
|
+
* Activates Ellipsis on the node labels
|
|
36
|
+
*/cov_2ox2r433ne().s[13]++;this.enableellipsis=true;/**
|
|
37
|
+
* Event when a node is expanded. Returns the node element as a parameter
|
|
38
|
+
*/cov_2ox2r433ne().s[14]++;this.expanded=new EventEmitter();/**
|
|
39
|
+
* Defines whether an icon for the expanded/collapsed status should be displayed.
|
|
40
|
+
*/cov_2ox2r433ne().s[15]++;this.expandedstate=true;/**
|
|
41
|
+
* A node must be selected
|
|
42
|
+
*/cov_2ox2r433ne().s[16]++;this.isrequired=false;/**
|
|
43
|
+
* Name of the TreeView control
|
|
44
|
+
*/cov_2ox2r433ne().s[17]++;this.name='';/**
|
|
45
|
+
* Event when a node is selected. Returns the id attribute as a parameter. The event is not triggered if 'attrid' is not set.
|
|
46
|
+
*/cov_2ox2r433ne().s[18]++;this.selected=new EventEmitter();/**
|
|
47
|
+
* Event when a node is selected. Returns the node element as a parameter.
|
|
48
|
+
*/cov_2ox2r433ne().s[19]++;this.selectednode=new EventEmitter();/**
|
|
49
|
+
* Resource Key für Validation Message Required bei Control
|
|
50
|
+
*/cov_2ox2r433ne().s[20]++;this.validationmessagerequired=this.validationKeyService.ValidationErrorRequired;/**
|
|
51
|
+
* Resource Key für Validation Message Required in Validation Summary
|
|
52
|
+
*/cov_2ox2r433ne().s[21]++;this.validationmessagesummaryrequired=this.validationKeyService.ValidationErrorSummaryRequired;}// #endregion Constructors
|
|
53
|
+
// #region Public Getters And Setters
|
|
54
|
+
get iconAction(){cov_2ox2r433ne().f[1]++;cov_2ox2r433ne().s[22]++;return this.iconService.TreeviewNodeActionIcon;}/**
|
|
55
|
+
* CSS icon for folders in tree there are collabsed
|
|
56
|
+
* @returns css class with icon
|
|
57
|
+
*/get iconFolderCollabsed(){cov_2ox2r433ne().f[2]++;cov_2ox2r433ne().s[23]++;return this.iconService.TreeviewNodeClosedIcon;}/**
|
|
58
|
+
* CSS icon class for folders without subfolders
|
|
59
|
+
* @returns css class with icon
|
|
60
|
+
*/get iconFolderEmpty(){cov_2ox2r433ne().f[3]++;cov_2ox2r433ne().s[24]++;return this.iconService.TreeviewNodeEmptyIcon;}/**
|
|
61
|
+
* CSS icon for folders in tree there are expanded
|
|
62
|
+
* @returns css class with icon
|
|
63
|
+
*/get iconFolderOpen(){cov_2ox2r433ne().f[4]++;cov_2ox2r433ne().s[25]++;return this.iconService.TreeviewNodeOpenIcon;}// #endregion Public Getters And Setters
|
|
64
|
+
// #region Public Methods
|
|
65
|
+
/**
|
|
66
|
+
* Creates an array of a certain size. Is required for a For in the UI, as Angular does not support counting loops
|
|
67
|
+
* @param size Size of the array
|
|
68
|
+
* @returns Array
|
|
69
|
+
*/count(size){cov_2ox2r433ne().f[5]++;cov_2ox2r433ne().s[26]++;return new Array(size);}getChildren(node){cov_2ox2r433ne().f[6]++;cov_2ox2r433ne().s[27]++;if((cov_2ox2r433ne().b[1][0]++,!node)||(cov_2ox2r433ne().b[1][1]++,!this.attrchildren)){cov_2ox2r433ne().b[0][0]++;cov_2ox2r433ne().s[28]++;return[];}else{cov_2ox2r433ne().b[0][1]++;}let children=(cov_2ox2r433ne().s[29]++,node[this.attrchildren]);cov_2ox2r433ne().s[30]++;if(!Array.isArray(children)){cov_2ox2r433ne().b[2][0]++;cov_2ox2r433ne().s[31]++;return[];}else{cov_2ox2r433ne().b[2][1]++;}cov_2ox2r433ne().s[32]++;return children;}getStringField(node,fieldname){cov_2ox2r433ne().f[7]++;cov_2ox2r433ne().s[33]++;if(!node){cov_2ox2r433ne().b[3][0]++;cov_2ox2r433ne().s[34]++;return'';}else{cov_2ox2r433ne().b[3][1]++;}cov_2ox2r433ne().s[35]++;if(!fieldname){cov_2ox2r433ne().b[4][0]++;cov_2ox2r433ne().s[36]++;return node;}else{cov_2ox2r433ne().b[4][1]++;}let value=(cov_2ox2r433ne().s[37]++,node[fieldname]);cov_2ox2r433ne().s[38]++;if(!value){cov_2ox2r433ne().b[5][0]++;cov_2ox2r433ne().s[39]++;return'';}else{cov_2ox2r433ne().b[5][1]++;}cov_2ox2r433ne().s[40]++;return value;}hasChildren(node){cov_2ox2r433ne().f[8]++;cov_2ox2r433ne().s[41]++;return this.getChildren(node).length>0;}isDisabledState(node){cov_2ox2r433ne().f[9]++;cov_2ox2r433ne().s[42]++;if((cov_2ox2r433ne().b[7][0]++,!node)||(cov_2ox2r433ne().b[7][1]++,!this.attrdisableaction)){cov_2ox2r433ne().b[6][0]++;cov_2ox2r433ne().s[43]++;return false;}else{cov_2ox2r433ne().b[6][1]++;}let value=(cov_2ox2r433ne().s[44]++,node[this.attrdisableaction]);cov_2ox2r433ne().s[45]++;return(cov_2ox2r433ne().b[8][0]++,value===true)||(cov_2ox2r433ne().b[8][1]++,value==='true');}isExpandedState(node){cov_2ox2r433ne().f[10]++;cov_2ox2r433ne().s[46]++;if((cov_2ox2r433ne().b[10][0]++,!node)||(cov_2ox2r433ne().b[10][1]++,!this.attrexpanded)){cov_2ox2r433ne().b[9][0]++;cov_2ox2r433ne().s[47]++;return false;}else{cov_2ox2r433ne().b[9][1]++;}let value=(cov_2ox2r433ne().s[48]++,node[this.attrexpanded]);cov_2ox2r433ne().s[49]++;return(cov_2ox2r433ne().b[11][0]++,value===true)||(cov_2ox2r433ne().b[11][1]++,value==='true');}isHoverState(node){cov_2ox2r433ne().f[11]++;cov_2ox2r433ne().s[50]++;if((cov_2ox2r433ne().b[13][0]++,!node)||(cov_2ox2r433ne().b[13][1]++,!this.attrhoverstate)){cov_2ox2r433ne().b[12][0]++;cov_2ox2r433ne().s[51]++;return false;}else{cov_2ox2r433ne().b[12][1]++;}let value=(cov_2ox2r433ne().s[52]++,node[this.attrhoverstate]);cov_2ox2r433ne().s[53]++;return(cov_2ox2r433ne().b[14][0]++,value===true)||(cov_2ox2r433ne().b[14][1]++,value==='true');}isSelectedState(node){cov_2ox2r433ne().f[12]++;cov_2ox2r433ne().s[54]++;if((cov_2ox2r433ne().b[16][0]++,!node)||(cov_2ox2r433ne().b[16][1]++,!this.attrselected)){cov_2ox2r433ne().b[15][0]++;cov_2ox2r433ne().s[55]++;return false;}else{cov_2ox2r433ne().b[15][1]++;}let value=(cov_2ox2r433ne().s[56]++,node[this.attrselected]);cov_2ox2r433ne().s[57]++;return(cov_2ox2r433ne().b[17][0]++,value===true)||(cov_2ox2r433ne().b[17][1]++,value==='true');}/**
|
|
70
|
+
* Method is called by clicking an action
|
|
71
|
+
* @param action action and node
|
|
72
|
+
*/onActionClicked(action){cov_2ox2r433ne().f[13]++;cov_2ox2r433ne().s[58]++;this.actionclicked.emit(action);}/**
|
|
73
|
+
* Method is called when Node in Tree is clicked
|
|
74
|
+
* @param node Selected Node
|
|
75
|
+
*/onNodeClicked(node){cov_2ox2r433ne().f[14]++;cov_2ox2r433ne().s[59]++;if((cov_2ox2r433ne().b[19][0]++,this.isDisabledState(node))||(cov_2ox2r433ne().b[19][1]++,this.isSelectedState(node))){cov_2ox2r433ne().b[18][0]++;cov_2ox2r433ne().s[60]++;this.invertExpandedState(node);}else{cov_2ox2r433ne().b[18][1]++;}cov_2ox2r433ne().s[61]++;this.setSelectedState(node);}/**
|
|
76
|
+
* Sets the hover state on a node
|
|
77
|
+
* @param node Node on which the status is set
|
|
78
|
+
* @param state Activate or deactivate HoverState
|
|
79
|
+
*/setHoverState(node,state){cov_2ox2r433ne().f[15]++;cov_2ox2r433ne().s[62]++;if((cov_2ox2r433ne().b[21][0]++,!node)||(cov_2ox2r433ne().b[21][1]++,!this.attrhoverstate)){cov_2ox2r433ne().b[20][0]++;cov_2ox2r433ne().s[63]++;return;}else{cov_2ox2r433ne().b[20][1]++;}cov_2ox2r433ne().s[64]++;if(state){cov_2ox2r433ne().b[22][0]++;cov_2ox2r433ne().s[65]++;node[this.attrhoverstate]=true;cov_2ox2r433ne().s[66]++;return;}else{cov_2ox2r433ne().b[22][1]++;}cov_2ox2r433ne().s[67]++;if(!node.hasOwnProperty(this.attrhoverstate)){cov_2ox2r433ne().b[23][0]++;cov_2ox2r433ne().s[68]++;return;}else{cov_2ox2r433ne().b[23][1]++;}cov_2ox2r433ne().s[69]++;delete node[this.attrhoverstate];}/**
|
|
80
|
+
* Sets the selected state on a node
|
|
81
|
+
* @param node Node which is marked as Selected
|
|
82
|
+
*/setSelectedState(node){cov_2ox2r433ne().f[16]++;cov_2ox2r433ne().s[70]++;if((cov_2ox2r433ne().b[25][0]++,!node)||(cov_2ox2r433ne().b[25][1]++,!this.attrselected)){cov_2ox2r433ne().b[24][0]++;cov_2ox2r433ne().s[71]++;return;}else{cov_2ox2r433ne().b[24][1]++;}// reset selected state of any node
|
|
83
|
+
cov_2ox2r433ne().s[72]++;this.data.forEach(rootNode=>{cov_2ox2r433ne().f[17]++;cov_2ox2r433ne().s[73]++;return this.resetSelectedState(rootNode);});// set selected node as selected
|
|
84
|
+
cov_2ox2r433ne().s[74]++;node[this.attrselected]=true;// Extract ID from Node
|
|
85
|
+
const idValue=(cov_2ox2r433ne().s[75]++,node[this.attrid]);// Update ngModel
|
|
86
|
+
cov_2ox2r433ne().s[76]++;this.setValue(idValue);// Raise Selected Events
|
|
87
|
+
cov_2ox2r433ne().s[77]++;this.selectednode.emit(node);cov_2ox2r433ne().s[78]++;if(!this.attrid){cov_2ox2r433ne().b[26][0]++;cov_2ox2r433ne().s[79]++;return;}else{cov_2ox2r433ne().b[26][1]++;}let id=(cov_2ox2r433ne().s[80]++,this.getStringField(node,this.attrid));cov_2ox2r433ne().s[81]++;this.selected.emit(id);}/**
|
|
88
|
+
* Validates the model state of the control
|
|
89
|
+
* @param c Control instance
|
|
90
|
+
* @returns Returns a validation error, if present. Otherwise, as Result is NULL
|
|
91
|
+
*/validateData(c){cov_2ox2r433ne().f[18]++;let error=(cov_2ox2r433ne().s[82]++,null);cov_2ox2r433ne().s[83]++;if(this.isrequired){cov_2ox2r433ne().b[27][0]++;cov_2ox2r433ne().s[84]++;error=Validation.required(this.validationmessagerequired,this.validationmessagesummaryrequired)(c);}else{cov_2ox2r433ne().b[27][1]++;}cov_2ox2r433ne().s[85]++;return error;}/**
|
|
92
|
+
* Saves the data from the model binding
|
|
93
|
+
* @param value Id of the selected node
|
|
94
|
+
*/writeValue(value){cov_2ox2r433ne().f[19]++;cov_2ox2r433ne().s[86]++;super.writeValue(value);// Do not preselct item when tree is empty
|
|
95
|
+
cov_2ox2r433ne().s[87]++;if(!this.data){cov_2ox2r433ne().b[28][0]++;cov_2ox2r433ne().s[88]++;return;}else{cov_2ox2r433ne().b[28][1]++;}cov_2ox2r433ne().s[89]++;this.data.forEach(root=>{cov_2ox2r433ne().f[20]++;const result=(cov_2ox2r433ne().s[90]++,this.findNodeById(root,value));cov_2ox2r433ne().s[91]++;if(result!==null){cov_2ox2r433ne().b[29][0]++;cov_2ox2r433ne().s[92]++;this.setSelectedState(result);}else{cov_2ox2r433ne().b[29][1]++;}});}// #endregion Public Methods
|
|
96
|
+
// #region Private Methods
|
|
97
|
+
/**
|
|
98
|
+
* Searches for a node based on the value in the ID attribute
|
|
99
|
+
* @param node Node
|
|
100
|
+
* @param value Value of the Id attribute
|
|
101
|
+
* @returns Returns the node if it is found. If not, NULL is returned.
|
|
102
|
+
*/findNodeById(node,value){cov_2ox2r433ne().f[21]++;cov_2ox2r433ne().s[93]++;if((cov_2ox2r433ne().b[31][0]++,!this.attrid)||(cov_2ox2r433ne().b[31][1]++,!node)){cov_2ox2r433ne().b[30][0]++;cov_2ox2r433ne().s[94]++;return null;}else{cov_2ox2r433ne().b[30][1]++;}cov_2ox2r433ne().s[95]++;if(node[this.attrid]===value){cov_2ox2r433ne().b[32][0]++;cov_2ox2r433ne().s[96]++;return node;}else{cov_2ox2r433ne().b[32][1]++;}const children=(cov_2ox2r433ne().s[97]++,this.getChildren(node));cov_2ox2r433ne().s[98]++;for(let child of children){const result=(cov_2ox2r433ne().s[99]++,this.findNodeById(child,value));cov_2ox2r433ne().s[100]++;if(result!==null){cov_2ox2r433ne().b[33][0]++;cov_2ox2r433ne().s[101]++;return result;}else{cov_2ox2r433ne().b[33][1]++;}}cov_2ox2r433ne().s[102]++;return null;}invertExpandedState(node){cov_2ox2r433ne().f[22]++;cov_2ox2r433ne().s[103]++;if((cov_2ox2r433ne().b[35][0]++,!node)||(cov_2ox2r433ne().b[35][1]++,!this.attrexpanded)){cov_2ox2r433ne().b[34][0]++;cov_2ox2r433ne().s[104]++;return;}else{cov_2ox2r433ne().b[34][1]++;}// Items with no children cannot be collabsed
|
|
103
|
+
cov_2ox2r433ne().s[105]++;if((cov_2ox2r433ne().b[37][0]++,!this.hasChildren(node))&&(cov_2ox2r433ne().b[37][1]++,!((cov_2ox2r433ne().b[38][0]++,this.enableasynchload===true)||(cov_2ox2r433ne().b[38][1]++,this.enableasynchload==='true')))){cov_2ox2r433ne().b[36][0]++;cov_2ox2r433ne().s[106]++;return;}else{cov_2ox2r433ne().b[36][1]++;}let value=(cov_2ox2r433ne().s[107]++,node[this.attrexpanded]);cov_2ox2r433ne().s[108]++;if((cov_2ox2r433ne().b[40][0]++,value===true)||(cov_2ox2r433ne().b[40][1]++,value==='true')){cov_2ox2r433ne().b[39][0]++;cov_2ox2r433ne().s[109]++;this.collabsed.emit(node);cov_2ox2r433ne().s[110]++;node[this.attrexpanded]=false;}else{cov_2ox2r433ne().b[39][1]++;cov_2ox2r433ne().s[111]++;this.expanded.emit(node);cov_2ox2r433ne().s[112]++;node[this.attrexpanded]=true;}}resetSelectedState(node){cov_2ox2r433ne().f[23]++;cov_2ox2r433ne().s[113]++;if((cov_2ox2r433ne().b[42][0]++,!node)||(cov_2ox2r433ne().b[42][1]++,!this.attrselected)){cov_2ox2r433ne().b[41][0]++;cov_2ox2r433ne().s[114]++;return;}else{cov_2ox2r433ne().b[41][1]++;}cov_2ox2r433ne().s[115]++;node[this.attrselected]=false;cov_2ox2r433ne().s[116]++;this.getChildren(node).forEach(child=>{cov_2ox2r433ne().f[24]++;cov_2ox2r433ne().s[117]++;this.resetSelectedState(child);});}}cov_2ox2r433ne().s[118]++;SacTreeviewCommon.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacTreeviewCommon,deps:[{token:i1.SacFormLayoutCommon,host:true},{token:i0.Injector}],target:i0.ɵɵFactoryTarget.Directive});cov_2ox2r433ne().s[119]++;SacTreeviewCommon.ɵdir=i0.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"13.2.7",type:SacTreeviewCommon,inputs:{attrchildren:"attrchildren",attrdisableaction:"attrdisableaction",attrexpanded:"attrexpanded",attrhoverstate:"attrhoverstate",attricon:"attricon",attrid:"attrid",attrlabel:"attrlabel",attrselected:"attrselected",data:"data",enableasynchload:"enableasynchload",enableellipsis:"enableellipsis",expandedstate:"expandedstate",isrequired:"isrequired",name:"name",showactionalways:"showactionalways",templateaction:"templateaction",templateicon:"templateicon",templatelabel:"templatelabel",validationmessagerequired:"validationmessagerequired",validationmessagesummaryrequired:"validationmessagesummaryrequired"},outputs:{actionclicked:"actionclicked",collabsed:"collabsed",expanded:"expanded",selected:"selected",selectednode:"selectednode"},usesInheritance:true,ngImport:i0});cov_2ox2r433ne().s[120]++;i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacTreeviewCommon,decorators:[{type:Directive}],ctorParameters:function(){cov_2ox2r433ne().f[25]++;cov_2ox2r433ne().s[121]++;return[{type:i1.SacFormLayoutCommon,decorators:[{type:Host}]},{type:i0.Injector}];},propDecorators:{actionclicked:[{type:Output}],attrchildren:[{type:Input}],attrdisableaction:[{type:Input}],attrexpanded:[{type:Input}],attrhoverstate:[{type:Input}],attricon:[{type:Input}],attrid:[{type:Input}],attrlabel:[{type:Input}],attrselected:[{type:Input}],collabsed:[{type:Output}],data:[{type:Input}],enableasynchload:[{type:Input}],enableellipsis:[{type:Input}],expanded:[{type:Output}],expandedstate:[{type:Input}],isrequired:[{type:Input}],name:[{type:Input}],selected:[{type:Output}],selectednode:[{type:Output}],showactionalways:[{type:Input}],templateaction:[{type:Input}],templateicon:[{type:Input}],templatelabel:[{type:Input}],validationmessagerequired:[{type:Input}],validationmessagesummaryrequired:[{type:Input}]}});//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZXZpZXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb250cm9scy90cmVldmlldy90cmVldmlldy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFZLEtBQUssRUFBRSxNQUFNLEVBQWUsTUFBTSxlQUFlLENBQUM7OztBQUdwRzs7R0FFRztBQUVILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxtQkFBd0I7SUF1SjNELHdCQUF3QjtJQUV4Qix1QkFBdUI7SUFFdkI7OztPQUdHO0lBQ0gsWUFBb0IsVUFBK0IsRUFBRSxRQUFrQjtRQUNuRSxLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBL0poQyxxQkFBcUI7UUFFckI7O1dBRUc7UUFFSSxrQkFBYSxHQUFpQyxJQUFJLFlBQVksRUFBa0IsQ0FBQztRQUV4Rjs7V0FFRztRQUVJLGlCQUFZLEdBQUcsVUFBVSxDQUFDO1FBRWpDOztXQUVHO1FBQ2Esc0JBQWlCLEdBQUcsVUFBVSxDQUFDO1FBRS9DOztXQUVHO1FBRUksaUJBQVksR0FBRyxVQUFVLENBQUM7UUFFakM7O1dBRUc7UUFFSSxtQkFBYyxHQUFHLFlBQVksQ0FBQztRQUVyQzs7V0FFRztRQUVJLGFBQVEsR0FBa0IsSUFBSSxDQUFDO1FBRXRDOztXQUVHO1FBRUksV0FBTSxHQUFrQixJQUFJLENBQUM7UUFFcEM7O1dBRUc7UUFFSSxjQUFTLEdBQUcsT0FBTyxDQUFDO1FBRTNCOztXQUVHO1FBRUksaUJBQVksR0FBRyxVQUFVLENBQUM7UUFFakM7O1dBRUc7UUFFSSxjQUFTLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFF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QUs7Z0JBTUMsZ0NBQWdDO3NCQUR0QyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2FjQmFzZU1vZGVsQ29udHJvbCB9IGZyb20gJy4uLy4uL2NvbW1vbi9iYXNlbW9kZWxjb250cm9sJztcbmltcG9ydCB7IFRyZWV2aWV3QWN0aW9uIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy90cmVldmlld2FjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbiB9IGZyb20gJy4uLy4uL3ZhbGlkYXRpb24nO1xuaW1wb3J0IHsgU2FjRm9ybUxheW91dENvbW1vbiB9IGZyb20gJy4uL2xheW91dC9mb3JtbGF5b3V0JztcbmltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBIb3N0LCBJbmplY3RvciwgSW5wdXQsIE91dHB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLyoqXG4gKiBCYXNpcyBLb21wb25lbnRlIGbDvHIgU2FjVHJlZVZpZXdcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgU2FjVHJlZXZpZXdDb21tb24gZXh0ZW5kcyBTYWNCYXNlTW9kZWxDb250cm9sPGFueT4ge1xuICAgIC8vICNyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLyoqXG4gICAgICogRXZlbnQgd2hlbiBBY3Rpb24gaXMgY2xpY2tlZCBvbiBOb2RlLiAgQW4gb2JqZWN0IG9mIHRoZSB0eXBlICdUcmVldmlld0FjdGlvbicgaXMgcmV0dXJuZWQuIEluIHRoZSBkZWZhdWx0IGNhc2UsICdhY3Rpb24nIGluIHRoaXMgb2JqZWN0IGlzIGFsd2F5cyB0aGUgdmFsdWUgJ2RlZmF1bHQnLiBUaGUgdmFsdWUgY2FuIGJlIGNoYW5nZWQgdmlhIHRoZSAndGVtcGxhdGVhY3Rpb24nLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBhY3Rpb25jbGlja2VkOiBFdmVudEVtaXR0ZXI8VHJlZXZpZXdBY3Rpb24+ID0gbmV3IEV2ZW50RW1pdHRlcjxUcmVldmlld0FjdGlvbj4oKTtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IG9uIHRoZSBkYXRhIG9iamVjdCB0aGF0IGNvbnRhaW5zIHRoZSBjaGlsZHJlbiBvZiB0aGUgc3RydWN0dXJlIGVsZW1lbnQuIE11c3QgYmUgYW4gYXJyYXkgb2Ygb2JqZWN0cy4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgJ2NoaWxkcmVuJ1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGF0dHJjaGlsZHJlbiA9ICdjaGlsZHJlbic7XG5cbiAgICAvKipcbiAgICAgKiBEZWZpbmVzIHRoZSBwcm9wZXJ0eSBvbiB0aGUgJ2RhdGEnIG9iamVjdCB3aXRoIHdoaWNoIHRoZSBhY3Rpb25zIGZvciBhIG5vZGUgY2FuIGJlIGRlYWN0aXZhdGVkLiBBICdkaXNhYmxlZCcgcHJvcGVydHkgaXMgdXNlZCBieSBkZWZhdWx0LlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBhdHRyZGlzYWJsZWFjdGlvbiA9ICdkaXNhYmxlZCc7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBvbiB0aGUgJ2RhdGEnIG9iamVjdCB0aGF0IHN0b3JlcyB0aGUgZXhwYW5kZWQgc3RhdGUuIFByb3BlcnR5IG11c3QgYmUgb2YgdHlwZSBib29sZWFuLiBEZWZhdWx0IGlzICdleHBhbmRlZCdcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBhdHRyZXhwYW5kZWQgPSAnZXhwYW5kZWQnO1xuXG4gICAgLyoqXG4gICAgICogUHJvcGVydHkgZm9yIHNhdmluZyB0aGUgSG92ZXJTdGF0ZSBvbiB0aGUgZmllbGQuIElmIHRoZSBwcm9wZXJ0eSBpcyBub3QgcHJlc2VudCBvbiB0aGUgbm9kZSwgaXQgaXMgYXV0b21hdGljYWxseSBjcmVhdGVkIGFuZCByZW1vdmVkIGFnYWluLiBUaGUgdmFsdWUgY2FuIHVzdWFsbHkgYmUgbGVmdCBhdCB0aGUgZGVmYXVsdCB2YWx1ZSB1bmxlc3MgdGhlcmUgaXMgYSBjb25mbGljdCB3aXRoIGEgcHJvcGVydHkgb24gdGhlIG5vZGUgdGhhdCBpcyByZXF1aXJlZCBmb3Igb3RoZXIgcHVycG9zZXMuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYXR0cmhvdmVyc3RhdGUgPSAnaG92ZXJzdGF0ZSc7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBvbiAnZGF0YScgb2JqZWN0LCB3aGljaCBjb250YWlucyB0aGUgaWNvbiBmb3IgdGhlIG5vZGUuIEJ5IGRlZmF1bHQsIHRoZSBwcm9wZXJ0eSBpcyBub3Qgc2V0LCB3aGljaCBoaWRlcyB0aGUgaWNvbiBpbiB0aGUgbm9kZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBhdHRyaWNvbjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBwcm9wZXJ0eSBvbiB0aGUgJ2RhdGEnIG9iamVjdCBjb250YWlucyBhbiBJRCBvZiB0aGUgbm9kZS4gVGhlIGRlZmF1bHQgaXMgJ2lkJy4gSWYgdGhlIHByb3BlcnR5IGlzIHNldCB0byBOVUxMLCB0aGUgc2VsZWN0ZWRJZCBldmVudCBpcyBubyBsb25nZXIgdHJpZ2dlcmVkLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGF0dHJpZDogc3RyaW5nIHwgbnVsbCA9ICdpZCc7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBvbiAnZGF0YScgb2JqZWN0LCB3aGljaCBjb250YWlucyB0aGUgbGFiZWwgZm9yIHRoZSBub2RlLiBEZWZhdWx0IGlzICdsYWJlbCdcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBhdHRybGFiZWwgPSAnbGFiZWwnO1xuXG4gICAgLyoqXG4gICAgICogUHJvcGVydHkgb24gJ2RhdGEnIG9iamVjdCwgd2hpY2ggZGVmaW5lcyB3aGV0aGVyIHRoZSBub2RlIGlzIHNlbGVjdGVkIG9yIG5vdC4gSXQgc2hvdWxkIGJlIGVuc3VyZWQgdGhhdCBvbmx5IDEgbm9kZSBoYXMgdGhlIHZhbHVlIGZvciBTZWxlY3RlZCBzZXQgdG8gdHJ1ZS4gRGVmYXVsdCBpcyAnc2VsZWN0ZWQnLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGF0dHJzZWxlY3RlZCA9ICdzZWxlY3RlZCc7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCB3aGVuIGEgbm9kZSBpcyBjb2xsYXBzZWQuIFJldHVybnMgdGhlIG5vZGUgZWxlbWVudCBhcyBhIHBhcmFtZXRlclxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBjb2xsYWJzZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgcHJvcGVydHkgY29udGFpbnMgYW4gYXJyYXkgb2Ygbm9kZXMuIFRoZSBkYXRhIG11c3QgYWxyZWFkeSBtYXAgdGhlIHRyZWUgdmlhIGNoaWxkIHByb3BlcnRpZXMuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZGF0YTogYW55W10gPSBbXTtcblxuICAgIC8qKlxuICAgICAqIEFjdGl2YXRlcyB0aGUgJ2V4cGFuZCcgYW5kICdjb2xsYWJzZScgZXZlbnQgZXZlbiBpZiBhIG5vZGUgaGFzIG5vIGNoaWxkcmVuLiBUaGlzIGlzIGhlbHBmdWwgaWYgbm9kZSBlbGVtZW50cyBhcmUgdG8gYmUgcmVsb2FkZWQgYXQgcnVudGltZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBlbmFibGVhc3luY2hsb2FkOiBib29sZWFuIHwgc3RyaW5nID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBBY3RpdmF0ZXMgRWxsaXBzaXMgb24gdGhlIG5vZGUgbGFiZWxzXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZW5hYmxlZWxsaXBzaXMgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogRXZlbnQgd2hlbiBhIG5vZGUgaXMgZXhwYW5kZWQuIFJldHVybnMgdGhlIG5vZGUgZWxlbWVudCBhcyBhIHBhcmFtZXRlclxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBleHBhbmRlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIC8qKlxuICAgICAqIERlZmluZXMgd2hldGhlciBhbiBpY29uIGZvciB0aGUgZXhwYW5kZWQvY29sbGFwc2VkIHN0YXR1cyBzaG91bGQgYmUgZGlzcGxheWVkLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGV4cGFuZGVkc3RhdGU6IGJvb2xlYW4gfCBzdHJpbmcgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogQSBub2RlIG11c3QgYmUgc2VsZWN0ZWRcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpc3JlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBOYW1lIG9mIHRoZSBUcmVlVmlldyBjb250cm9sXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbmFtZTogc3RyaW5nID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCB3aGVuIGEgbm9kZSBpcyBzZWxlY3RlZC4gUmV0dXJucyB0aGUgaWQgYXR0cmlidXRlIGFzIGEgcGFyYW1ldGVyLiBUaGUgZXZlbnQgaXMgbm90IHRyaWdnZXJlZCBpZiAnYXR0cmlkJyBpcyBub3Qgc2V0LlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBzZWxlY3RlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIC8qKlxuICAgICAqIEV2ZW50IHdoZW4gYSBub2RlIGlzIHNlbGVjdGVkLiBSZXR1cm5zIHRoZSBub2RlIGVsZW1lbnQgYXMgYSBwYXJhbWV0ZXIuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHNlbGVjdGVkbm9kZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIC8qKlxuICAgICAqIERlZmluZXMgdGhhdCB0aGUgYWN0aW9uIHRlbXBsYXRlIGlzIGRpc3BsYXllZCBpbmRlcGVuZGVudGx5IG9mIHRoZSBzZWxlY3RlZCBzdGF0ZS4gSWYgdGhlIHZhbHVlIGlzICd0cnVlJywgdGhlIGFjdGlvbiB0ZW1wbGF0ZSBpcyBkaXNwbGF5ZWQgZm9yIGV2ZXJ5IGVsZW1lbnQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2hvd2FjdGlvbmFsd2F5cztcblxuICAgIC8qKlxuICAgICAqIEN1c3RvbSB0ZW1wbGF0ZSBmb3IgYWN0aW9ucyBwZXIgbm9kZS4gVGVtcGxhdGUgcGFyYW1ldGVycyBhcmU6ICdub2RlJ1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHRlbXBsYXRlYWN0aW9uOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIHRlbXBsYXRlIGZvciBpY29uIHBlciBub2RlLiBUZW1wbGF0ZSBwYXJhbWV0ZXJzIGFyZTogJ25vZGUnXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdGVtcGxhdGVpY29uOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIHRlbXBsYXRlIGZvciB0aGUgbGFiZWwgYXJlYSBwZXIgbm9kZS4gVGVtcGxhdGUgcGFyYW1ldGVycyBhcmU6ICdub2RlJyBhbmQgJ2xhYmVsJ1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHRlbXBsYXRlbGFiZWw6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiBSZXNvdXJjZSBLZXkgZsO8ciBWYWxpZGF0aW9uIE1lc3NhZ2UgUmVxdWlyZWQgYmVpIENvbnRyb2xcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgdmFsaWRhdGlvbm1lc3NhZ2VyZXF1aXJlZDogc3RyaW5nID0gdGhpcy52YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JSZXF1aXJlZDtcblxuICAgIC8qKlxuICAgICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBSZXF1aXJlZCBpbiBWYWxpZGF0aW9uIFN1bW1hcnlcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB2YWxpZGF0aW9ubWVzc2FnZXN1bW1hcnlyZXF1aXJlZDogc3RyaW5nID0gdGhpcy52YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JTdW1tYXJ5UmVxdWlyZWQ7XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcblxuICAgIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3RvclxuICAgICAqIEBwYXJhbSBpbmplY3RvciBTZXJ2aWNlIEluamVjdG9yXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoQEhvc3QoKSBmb3JtbGF5b3V0OiBTYWNGb3JtTGF5b3V0Q29tbW9uLCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgc3VwZXIoZm9ybWxheW91dCwgaW5qZWN0b3IpO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICBwdWJsaWMgZ2V0IGljb25BY3Rpb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWNvblNlcnZpY2UuVHJlZXZpZXdOb2RlQWN0aW9uSWNvbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDU1MgaWNvbiBmb3IgZm9sZGVycyBpbiB0cmVlIHRoZXJlIGFyZSBjb2xsYWJzZWRcbiAgICAgKiBAcmV0dXJucyBjc3MgY2xhc3Mgd2l0aCBpY29uXG4gICAgICovXG4gICAgcHVibGljIGdldCBpY29uRm9sZGVyQ29sbGFic2VkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmljb25TZXJ2aWNlLlRyZWV2aWV3Tm9kZUNsb3NlZEljb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ1NTIGljb24gY2xhc3MgZm9yIGZvbGRlcnMgd2l0aG91dCBzdWJmb2xkZXJzXG4gICAgICogQHJldHVybnMgY3NzIGNsYXNzIHdpdGggaWNvblxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgaWNvbkZvbGRlckVtcHR5KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmljb25TZXJ2aWNlLlRyZWV2aWV3Tm9kZUVtcHR5SWNvbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDU1MgaWNvbiBmb3IgZm9sZGVycyBpbiB0cmVlIHRoZXJlIGFyZSBleHBhbmRlZFxuICAgICAqIEByZXR1cm5zIGNzcyBjbGFzcyB3aXRoIGljb25cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGljb25Gb2xkZXJPcGVuKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmljb25TZXJ2aWNlLlRyZWV2aWV3Tm9kZU9wZW5JY29uO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcblxuICAgIC8vICNyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgb2YgYSBjZXJ0YWluIHNpemUuIElzIHJlcXVpcmVkIGZvciBhIEZvciBpbiB0aGUgVUksIGFzIEFuZ3VsYXIgZG9lcyBub3Qgc3VwcG9ydCBjb3VudGluZyBsb29wc1xuICAgICAqIEBwYXJhbSBzaXplIFNpemUgb2YgdGhlIGFycmF5XG4gICAgICogQHJldHVybnMgQXJyYXlcbiAgICAgKi9cbiAgICBwdWJsaWMgY291bnQoc2l6ZTogbnVtYmVyKTogQXJyYXk8dm9pZD4ge1xuICAgICAgICByZXR1cm4gbmV3IEFycmF5KHNpemUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDaGlsZHJlbihub2RlOiBhbnkpOiBhbnlbXSB7XG4gICAgICAgIGlmICghbm9kZSB8fCAhdGhpcy5hdHRyY2hpbGRyZW4pIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBjaGlsZHJlbiA9IG5vZGVbdGhpcy5hdHRyY2hpbGRyZW5dO1xuXG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheShjaGlsZHJlbikpIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjaGlsZHJlbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0U3RyaW5nRmllbGQobm9kZTogYW55LCBmaWVsZG5hbWU6IHN0cmluZyk6IGFueSB7XG4gICAgICAgIGlmICghbm9kZSkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFmaWVsZG5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiBub2RlO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHZhbHVlID0gbm9kZVtmaWVsZG5hbWVdO1xuXG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFzQ2hpbGRyZW4obm9kZTogYW55KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldENoaWxkcmVuKG5vZGUpLmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgcHVibGljIGlzRGlzYWJsZWRTdGF0ZShub2RlOiBhbnkpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFub2RlIHx8ICF0aGlzLmF0dHJkaXNhYmxlYWN0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgdmFsdWUgPSBub2RlW3RoaXMuYXR0cmRpc2FibGVhY3Rpb25dO1xuICAgICAgICByZXR1cm4gdmFsdWUgPT09IHRydWUgfHwgdmFsdWUgPT09ICd0cnVlJztcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNFeHBhbmRlZFN0YXRlKG5vZGU6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIW5vZGUgfHwgIXRoaXMuYXR0cmV4cGFuZGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgdmFsdWUgPSBub2RlW3RoaXMuYXR0cmV4cGFuZGVkXTtcbiAgICAgICAgcmV0dXJuIHZhbHVlID09PSB0cnVlIHx8IHZhbHVlID09PSAndHJ1ZSc7XG4gICAgfVxuXG4gICAgcHVibGljIGlzSG92ZXJTdGF0ZShub2RlOiBhbnkpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFub2RlIHx8ICF0aGlzLmF0dHJob3ZlcnN0YXRlKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgdmFsdWUgPSBub2RlW3RoaXMuYXR0cmhvdmVyc3RhdGVdO1xuICAgICAgICByZXR1cm4gdmFsdWUgPT09IHRydWUgfHwgdmFsdWUgPT09ICd0cnVlJztcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNTZWxlY3RlZFN0YXRlKG5vZGU6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIW5vZGUgfHwgIXRoaXMuYXR0cnNlbGVjdGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgdmFsdWUgPSBub2RlW3RoaXMuYXR0cnNlbGVjdGVkXTtcbiAgICAgICAgcmV0dXJuIHZhbHVlID09PSB0cnVlIHx8IHZhbHVlID09PSAndHJ1ZSc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWV0aG9kIGlzIGNhbGxlZCBieSBjbGlja2luZyBhbiBhY3Rpb25cbiAgICAgKiBAcGFyYW0gYWN0aW9uIGFjdGlvbiBhbmQgbm9kZVxuICAgICAqL1xuICAgIHB1YmxpYyBvbkFjdGlvbkNsaWNrZWQoYWN0aW9uOiBUcmVldmlld0FjdGlvbikge1xuICAgICAgICB0aGlzLmFjdGlvbmNsaWNrZWQuZW1pdChhY3Rpb24pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1ldGhvZCBpcyBjYWxsZWQgd2hlbiBOb2RlIGluIFRyZWUgaXMgY2xpY2tlZFxuICAgICAqIEBwYXJhbSBub2RlIFNlbGVjdGVkIE5vZGVcbiAgICAgKi9cbiAgICBwdWJsaWMgb25Ob2RlQ2xpY2tlZChub2RlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNEaXNhYmxlZFN0YXRlKG5vZGUpIHx8IHRoaXMuaXNTZWxlY3RlZFN0YXRlKG5vZGUpKSB7XG4gICAgICAgICAgICB0aGlzLmludmVydEV4cGFuZGVkU3RhdGUobm9kZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNldFNlbGVjdGVkU3RhdGUobm9kZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgaG92ZXIgc3RhdGUgb24gYSBub2RlXG4gICAgICogQHBhcmFtIG5vZGUgTm9kZSBvbiB3aGljaCB0aGUgc3RhdHVzIGlzIHNldFxuICAgICAqIEBwYXJhbSBzdGF0ZSBBY3RpdmF0ZSBvciBkZWFjdGl2YXRlIEhvdmVyU3RhdGVcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0SG92ZXJTdGF0ZShub2RlOiBhbnksIHN0YXRlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICghbm9kZSB8fCAhdGhpcy5hdHRyaG92ZXJzdGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHN0YXRlKSB7XG4gICAgICAgICAgICBub2RlW3RoaXMuYXR0cmhvdmVyc3RhdGVdID0gdHJ1ZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghbm9kZS5oYXNPd25Qcm9wZXJ0eSh0aGlzLmF0dHJob3ZlcnN0YXRlKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZGVsZXRlIG5vZGVbdGhpcy5hdHRyaG92ZXJzdGF0ZV07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgc2VsZWN0ZWQgc3RhdGUgb24gYSBub2RlXG4gICAgICogQHBhcmFtIG5vZGUgTm9kZSB3aGljaCBpcyBtYXJrZWQgYXMgU2VsZWN0ZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0U2VsZWN0ZWRTdGF0ZShub2RlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFub2RlIHx8ICF0aGlzLmF0dHJzZWxlY3RlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gcmVzZXQgc2VsZWN0ZWQgc3RhdGUgb2YgYW55IG5vZGVcbiAgICAgICAgdGhpcy5kYXRhLmZvckVhY2goKHJvb3ROb2RlKSA9PiB0aGlzLnJlc2V0U2VsZWN0ZWRTdGF0ZShyb290Tm9kZSkpO1xuXG4gICAgICAgIC8vIHNldCBzZWxlY3RlZCBub2RlIGFzIHNlbGVjdGVkXG4gICAgICAgIG5vZGVbdGhpcy5hdHRyc2VsZWN0ZWRdID0gdHJ1ZTtcblxuICAgICAgICAvLyBFeHRyYWN0IElEIGZyb20gTm9kZVxuICAgICAgICBjb25zdCBpZFZhbHVlID0gbm9kZVt0aGlzLmF0dHJpZF07XG5cbiAgICAgICAgLy8gVXBkYXRlIG5nTW9kZWxcbiAgICAgICAgdGhpcy5zZXRWYWx1ZShpZFZhbHVlKTtcblxuICAgICAgICAvLyBSYWlzZSBTZWxlY3RlZCBFdmVudHNcbiAgICAgICAgdGhpcy5zZWxlY3RlZG5vZGUuZW1pdChub2RlKTtcblxuICAgICAgICBpZiAoIXRoaXMuYXR0cmlkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgaWQgPSB0aGlzLmdldFN0cmluZ0ZpZWxkKG5vZGUsIHRoaXMuYXR0cmlkKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZC5lbWl0KGlkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGF0ZXMgdGhlIG1vZGVsIHN0YXRlIG9mIHRoZSBjb250cm9sXG4gICAgICogQHBhcmFtIGMgQ29udHJvbCBpbnN0YW5jZVxuICAgICAqIEByZXR1cm5zIFJldHVybnMgYSB2YWxpZGF0aW9uIGVycm9yLCBpZiBwcmVzZW50LiBPdGhlcndpc2UsIGFzIFJlc3VsdCBpcyBOVUxMXG4gICAgICovXG4gICAgcHVibGljIHZhbGlkYXRlRGF0YShjOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgICAgIGxldCBlcnJvcjogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPSBudWxsO1xuXG4gICAgICAgIGlmICh0aGlzLmlzcmVxdWlyZWQpIHtcbiAgICAgICAgICAgIGVycm9yID0gVmFsaWRhdGlvbi5yZXF1aXJlZCh0aGlzLnZhbGlkYXRpb25tZXNzYWdlcmVxdWlyZWQsIHRoaXMudmFsaWRhdGlvbm1lc3NhZ2VzdW1tYXJ5cmVxdWlyZWQpKGMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGVycm9yO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNhdmVzIHRoZSBkYXRhIGZyb20gdGhlIG1vZGVsIGJpbmRpbmdcbiAgICAgKiBAcGFyYW0gdmFsdWUgSWQgb2YgdGhlIHNlbGVjdGVkIG5vZGVcbiAgICAgKi9cbiAgICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xuXG4gICAgICAgIC8vIERvIG5vdCBwcmVzZWxjdCBpdGVtIHdoZW4gdHJlZSBpcyBlbXB0eVxuICAgICAgICBpZiAoIXRoaXMuZGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kYXRhLmZvckVhY2goKHJvb3QpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuZmluZE5vZGVCeUlkKHJvb3QsIHZhbHVlKTtcblxuICAgICAgICAgICAgaWYgKHJlc3VsdCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0U2VsZWN0ZWRTdGF0ZShyZXN1bHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgICAvLyAjcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xuXG4gICAgLyoqXG4gICAgICogU2VhcmNoZXMgZm9yIGEgbm9kZSBiYXNlZCBvbiB0aGUgdmFsdWUgaW4gdGhlIElEIGF0dHJpYnV0ZVxuICAgICAqIEBwYXJhbSBub2RlIE5vZGVcbiAgICAgKiBAcGFyYW0gdmFsdWUgVmFsdWUgb2YgdGhlIElkIGF0dHJpYnV0ZVxuICAgICAqIEByZXR1cm5zIFJldHVybnMgdGhlIG5vZGUgaWYgaXQgaXMgZm91bmQuIElmIG5vdCwgTlVMTCBpcyByZXR1cm5lZC5cbiAgICAgKi9cbiAgICBwcml2YXRlIGZpbmROb2RlQnlJZChub2RlOiBhbnksIHZhbHVlOiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAoIXRoaXMuYXR0cmlkIHx8ICFub2RlKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChub2RlW3RoaXMuYXR0cmlkXSA9PT0gdmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiBub2RlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSB0aGlzLmdldENoaWxkcmVuKG5vZGUpO1xuICAgICAgICBmb3IgKGxldCBjaGlsZCBvZiBjaGlsZHJlbikge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5maW5kTm9kZUJ5SWQoY2hpbGQsIHZhbHVlKTtcbiAgICAgICAgICAgIGlmIChyZXN1bHQgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbnZlcnRFeHBhbmRlZFN0YXRlKG5vZGU6IGFueSkge1xuICAgICAgICBpZiAoIW5vZGUgfHwgIXRoaXMuYXR0cmV4cGFuZGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJdGVtcyB3aXRoIG5vIGNoaWxkcmVuIGNhbm5vdCBiZSBjb2xsYWJzZWRcbiAgICAgICAgaWYgKCF0aGlzLmhhc0NoaWxkcmVuKG5vZGUpICYmICEodGhpcy5lbmFibGVhc3luY2hsb2FkID09PSB0cnVlIHx8IHRoaXMuZW5hYmxlYXN5bmNobG9hZCA9PT0gJ3RydWUnKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHZhbHVlID0gbm9kZVt0aGlzLmF0dHJleHBhbmRlZF07XG5cbiAgICAgICAgaWYgKHZhbHVlID09PSB0cnVlIHx8IHZhbHVlID09PSAndHJ1ZScpIHtcbiAgICAgICAgICAgIHRoaXMuY29sbGFic2VkLmVtaXQobm9kZSk7XG4gICAgICAgICAgICBub2RlW3RoaXMuYXR0cmV4cGFuZGVkXSA9IGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5leHBhbmRlZC5lbWl0KG5vZGUpO1xuICAgICAgICAgICAgbm9kZVt0aGlzLmF0dHJleHBhbmRlZF0gPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXNldFNlbGVjdGVkU3RhdGUobm9kZTogYW55KSB7XG4gICAgICAgIGlmICghbm9kZSB8fCAhdGhpcy5hdHRyc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIG5vZGVbdGhpcy5hdHRyc2VsZWN0ZWRdID0gZmFsc2U7XG5cbiAgICAgICAgdGhpcy5nZXRDaGlsZHJlbihub2RlKS5mb3JFYWNoKChjaGlsZCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZXNldFNlbGVjdGVkU3RhdGUoY2hpbGQpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xufVxuIl19
|
|
104
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb3ZfMm94MnI0MzNuZSIsImFjdHVhbENvdmVyYWdlIiwiU2FjQmFzZU1vZGVsQ29udHJvbCIsIlZhbGlkYXRpb24iLCJEaXJlY3RpdmUiLCJFdmVudEVtaXR0ZXIiLCJIb3N0IiwiSW5wdXQiLCJPdXRwdXQiLCJTYWNUcmVldmlld0NvbW1vbiIsImNvbnN0cnVjdG9yIiwiZm9ybWxheW91dCIsImluamVjdG9yIiwiZiIsInMiLCJhY3Rpb25jbGlja2VkIiwiYXR0cmNoaWxkcmVuIiwiYXR0cmRpc2FibGVhY3Rpb24iLCJhdHRyZXhwYW5kZWQiLCJhdHRyaG92ZXJzdGF0ZSIsImF0dHJpY29uIiwiYXR0cmlkIiwiYXR0cmxhYmVsIiwiYXR0cnNlbGVjdGVkIiwiY29sbGFic2VkIiwiZGF0YSIsImVuYWJsZWFzeW5jaGxvYWQiLCJlbmFibGVlbGxpcHNpcyIsImV4cGFuZGVkIiwiZXhwYW5kZWRzdGF0ZSIsImlzcmVxdWlyZWQiLCJuYW1lIiwic2VsZWN0ZWQiLCJzZWxlY3RlZG5vZGUiLCJ2YWxpZGF0aW9ubWVzc2FnZXJlcXVpcmVkIiwidmFsaWRhdGlvbktleVNlcnZpY2UiLCJWYWxpZGF0aW9uRXJyb3JSZXF1aXJlZCIsInZhbGlkYXRpb25tZXNzYWdlc3VtbWFyeXJlcXVpcmVkIiwiVmFsaWRhdGlvbkVycm9yU3VtbWFyeVJlcXVpcmVkIiwiaWNvbkFjdGlvbiIsImljb25TZXJ2aWNlIiwiVHJlZXZpZXdOb2RlQWN0aW9uSWNvbiIsImljb25Gb2xkZXJDb2xsYWJzZWQiLCJUcmVldmlld05vZGVDbG9zZWRJY29uIiwiaWNvbkZvbGRlckVtcHR5IiwiVHJlZXZpZXdOb2RlRW1wdHlJY29uIiwiaWNvbkZvbGRlck9wZW4iLCJUcmVldmlld05vZGVPcGVuSWNvbiIsImNvdW50Iiwic2l6ZSIsIkFycmF5IiwiZ2V0Q2hpbGRyZW4iLCJub2RlIiwiYiIsImNoaWxkcmVuIiwiaXNBcnJheSIsImdldFN0cmluZ0ZpZWxkIiwiZmllbGRuYW1lIiwidmFsdWUiLCJoYXNDaGlsZHJlbiIsImxlbmd0aCIsImlzRGlzYWJsZWRTdGF0ZSIsImlzRXhwYW5kZWRTdGF0ZSIsImlzSG92ZXJTdGF0ZSIsImlzU2VsZWN0ZWRTdGF0ZSIsIm9uQWN0aW9uQ2xpY2tlZCIsImFjdGlvbiIsImVtaXQiLCJvbk5vZGVDbGlja2VkIiwiaW52ZXJ0RXhwYW5kZWRTdGF0ZSIsInNldFNlbGVjdGVkU3RhdGUiLCJzZXRIb3ZlclN0YXRlIiwic3RhdGUiLCJoYXNPd25Qcm9wZXJ0eSIsImZvckVhY2giLCJyb290Tm9kZSIsInJlc2V0U2VsZWN0ZWRTdGF0ZSIsImlkVmFsdWUiLCJzZXRWYWx1ZSIsImlkIiwidmFsaWRhdGVEYXRhIiwiYyIsImVycm9yIiwicmVxdWlyZWQiLCJ3cml0ZVZhbHVlIiwicm9vdCIsInJlc3VsdCIsImZpbmROb2RlQnlJZCIsImNoaWxkIiwiZGVwcyIsInRva2VuIiwiaTEiLCJTYWNGb3JtTGF5b3V0Q29tbW9uIiwiaG9zdCIsImkwIiwiSW5qZWN0b3IiLCJ0YXJnZXQiLCLJtcm1RmFjdG9yeVRhcmdldCIsImlucHV0cyIsInNob3dhY3Rpb25hbHdheXMiLCJ0ZW1wbGF0ZWFjdGlvbiIsInRlbXBsYXRlaWNvbiIsInRlbXBsYXRlbGFiZWwiLCJvdXRwdXRzIiwidXNlc0luaGVyaXRhbmNlIiwibmdJbXBvcnQiLCJkZWNvcmF0b3JzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29udHJvbHMvdHJlZXZpZXcvdHJlZXZpZXcudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2FjQmFzZU1vZGVsQ29udHJvbCB9IGZyb20gJy4uLy4uL2NvbW1vbi9iYXNlbW9kZWxjb250cm9sJztcbmltcG9ydCB7IFRyZWV2aWV3QWN0aW9uIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy90cmVldmlld2FjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbiB9IGZyb20gJy4uLy4uL3ZhbGlkYXRpb24nO1xuaW1wb3J0IHsgU2FjRm9ybUxheW91dENvbW1vbiB9IGZyb20gJy4uL2xheW91dC9mb3JtbGF5b3V0JztcbmltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBIb3N0LCBJbmplY3RvciwgSW5wdXQsIE91dHB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLyoqXG4gKiBCYXNpcyBLb21wb25lbnRlIGbDvHIgU2FjVHJlZVZpZXdcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgU2FjVHJlZXZpZXdDb21tb24gZXh0ZW5kcyBTYWNCYXNlTW9kZWxDb250cm9sPGFueT4ge1xuICAgIC8vICNyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLyoqXG4gICAgICogRXZlbnQgd2hlbiBBY3Rpb24gaXMgY2xpY2tlZCBvbiBOb2RlLiAgQW4gb2JqZWN0IG9mIHRoZSB0eXBlICdUcmVldmlld0FjdGlvbicgaXMgcmV0dXJuZWQuIEluIHRoZSBkZWZhdWx0IGNhc2UsICdhY3Rpb24nIGluIHRoaXMgb2JqZWN0IGlzIGFsd2F5cyB0aGUgdmFsdWUgJ2RlZmF1bHQnLiBUaGUgdmFsdWUgY2FuIGJlIGNoYW5nZWQgdmlhIHRoZSAndGVtcGxhdGVhY3Rpb24nLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBhY3Rpb25jbGlja2VkOiBFdmVudEVtaXR0ZXI8VHJlZXZpZXdBY3Rpb24+ID0gbmV3IEV2ZW50RW1pdHRlcjxUcmVldmlld0FjdGlvbj4oKTtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IG9uIHRoZSBkYXRhIG9iamVjdCB0aGF0IGNvbnRhaW5zIHRoZSBjaGlsZHJlbiBvZiB0aGUgc3RydWN0dXJlIGVsZW1lbnQuIE11c3QgYmUgYW4gYXJyYXkgb2Ygb2JqZWN0cy4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgJ2NoaWxkcmVuJ1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGF0dHJjaGlsZHJlbiA9ICdjaGlsZHJlbic7XG5cbiAgICAvKipcbiAgICAgKiBEZWZpbmVzIHRoZSBwcm9wZXJ0eSBvbiB0aGUgJ2RhdGEnIG9iamVjdCB3aXRoIHdoaWNoIHRoZSBhY3Rpb25zIGZvciBhIG5vZGUgY2FuIGJlIGRlYWN0aXZhdGVkLiBBICdkaXNhYmxlZCcgcHJvcGVydHkgaXMgdXNlZCBieSBkZWZhdWx0LlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBhdHRyZGlzYWJsZWFjdGlvbiA9ICdkaXNhYmxlZCc7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBvbiB0aGUgJ2RhdGEnIG9iamVjdCB0aGF0IHN0b3JlcyB0aGUgZXhwYW5kZWQgc3RhdGUuIFByb3BlcnR5IG11c3QgYmUgb2YgdHlwZSBib29sZWFuLiBEZWZhdWx0IGlzICdleHBhbmRlZCdcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBhdHRyZXhwYW5kZWQgPSAnZXhwYW5kZWQnO1xuXG4gICAgLyoqXG4gICAgICogUHJvcGVydHkgZm9yIHNhdmluZyB0aGUgSG92ZXJTdGF0ZSBvbiB0aGUgZmllbGQuIElmIHRoZSBwcm9wZXJ0eSBpcyBub3QgcHJlc2VudCBvbiB0aGUgbm9kZSwgaXQgaXMgYXV0b21hdGljYWxseSBjcmVhdGVkIGFuZCByZW1vdmVkIGFnYWluLiBUaGUgdmFsdWUgY2FuIHVzdWFsbHkgYmUgbGVmdCBhdCB0aGUgZGVmYXVsdCB2YWx1ZSB1bmxlc3MgdGhlcmUgaXMgYSBjb25mbGljdCB3aXRoIGEgcHJvcGVydHkgb24gdGhlIG5vZGUgdGhhdCBpcyByZXF1aXJlZCBmb3Igb3RoZXIgcHVycG9zZXMuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYXR0cmhvdmVyc3RhdGUgPSAnaG92ZXJzdGF0ZSc7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBvbiAnZGF0YScgb2JqZWN0LCB3aGljaCBjb250YWlucyB0aGUgaWNvbiBmb3IgdGhlIG5vZGUuIEJ5IGRlZmF1bHQsIHRoZSBwcm9wZXJ0eSBpcyBub3Qgc2V0LCB3aGljaCBoaWRlcyB0aGUgaWNvbiBpbiB0aGUgbm9kZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBhdHRyaWNvbjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBwcm9wZXJ0eSBvbiB0aGUgJ2RhdGEnIG9iamVjdCBjb250YWlucyBhbiBJRCBvZiB0aGUgbm9kZS4gVGhlIGRlZmF1bHQgaXMgJ2lkJy4gSWYgdGhlIHByb3BlcnR5IGlzIHNldCB0byBOVUxMLCB0aGUgc2VsZWN0ZWRJZCBldmVudCBpcyBubyBsb25nZXIgdHJpZ2dlcmVkLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGF0dHJpZDogc3RyaW5nIHwgbnVsbCA9ICdpZCc7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBvbiAnZGF0YScgb2JqZWN0LCB3aGljaCBjb250YWlucyB0aGUgbGFiZWwgZm9yIHRoZSBub2RlLiBEZWZhdWx0IGlzICdsYWJlbCdcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBhdHRybGFiZWwgPSAnbGFiZWwnO1xuXG4gICAgLyoqXG4gICAgICogUHJvcGVydHkgb24gJ2RhdGEnIG9iamVjdCwgd2hpY2ggZGVmaW5lcyB3aGV0aGVyIHRoZSBub2RlIGlzIHNlbGVjdGVkIG9yIG5vdC4gSXQgc2hvdWxkIGJlIGVuc3VyZWQgdGhhdCBvbmx5IDEgbm9kZSBoYXMgdGhlIHZhbHVlIGZvciBTZWxlY3RlZCBzZXQgdG8gdHJ1ZS4gRGVmYXVsdCBpcyAnc2VsZWN0ZWQnLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGF0dHJzZWxlY3RlZCA9ICdzZWxlY3RlZCc7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCB3aGVuIGEgbm9kZSBpcyBjb2xsYXBzZWQuIFJldHVybnMgdGhlIG5vZGUgZWxlbWVudCBhcyBhIHBhcmFtZXRlclxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBjb2xsYWJzZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgcHJvcGVydHkgY29udGFpbnMgYW4gYXJyYXkgb2Ygbm9kZXMuIFRoZSBkYXRhIG11c3QgYWxyZWFkeSBtYXAgdGhlIHRyZWUgdmlhIGNoaWxkIHByb3BlcnRpZXMuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZGF0YTogYW55W10gPSBbXTtcblxuICAgIC8qKlxuICAgICAqIEFjdGl2YXRlcyB0aGUgJ2V4cGFuZCcgYW5kICdjb2xsYWJzZScgZXZlbnQgZXZlbiBpZiBhIG5vZGUgaGFzIG5vIGNoaWxkcmVuLiBUaGlzIGlzIGhlbHBmdWwgaWYgbm9kZSBlbGVtZW50cyBhcmUgdG8gYmUgcmVsb2FkZWQgYXQgcnVudGltZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBlbmFibGVhc3luY2hsb2FkOiBib29sZWFuIHwgc3RyaW5nID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBBY3RpdmF0ZXMgRWxsaXBzaXMgb24gdGhlIG5vZGUgbGFiZWxzXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZW5hYmxlZWxsaXBzaXMgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogRXZlbnQgd2hlbiBhIG5vZGUgaXMgZXhwYW5kZWQuIFJldHVybnMgdGhlIG5vZGUgZWxlbWVudCBhcyBhIHBhcmFtZXRlclxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBleHBhbmRlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIC8qKlxuICAgICAqIERlZmluZXMgd2hldGhlciBhbiBpY29uIGZvciB0aGUgZXhwYW5kZWQvY29sbGFwc2VkIHN0YXR1cyBzaG91bGQgYmUgZGlzcGxheWVkLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGV4cGFuZGVkc3RhdGU6IGJvb2xlYW4gfCBzdHJpbmcgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogQSBub2RlIG11c3QgYmUgc2VsZWN0ZWRcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpc3JlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBOYW1lIG9mIHRoZSBUcmVlVmlldyBjb250cm9sXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbmFtZTogc3RyaW5nID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCB3aGVuIGEgbm9kZSBpcyBzZWxlY3RlZC4gUmV0dXJucyB0aGUgaWQgYXR0cmlidXRlIGFzIGEgcGFyYW1ldGVyLiBUaGUgZXZlbnQgaXMgbm90IHRyaWdnZXJlZCBpZiAnYXR0cmlkJyBpcyBub3Qgc2V0LlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBzZWxlY3RlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIC8qKlxuICAgICAqIEV2ZW50IHdoZW4gYSBub2RlIGlzIHNlbGVjdGVkLiBSZXR1cm5zIHRoZSBub2RlIGVsZW1lbnQgYXMgYSBwYXJhbWV0ZXIuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHNlbGVjdGVkbm9kZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIC8qKlxuICAgICAqIERlZmluZXMgdGhhdCB0aGUgYWN0aW9uIHRlbXBsYXRlIGlzIGRpc3BsYXllZCBpbmRlcGVuZGVudGx5IG9mIHRoZSBzZWxlY3RlZCBzdGF0ZS4gSWYgdGhlIHZhbHVlIGlzICd0cnVlJywgdGhlIGFjdGlvbiB0ZW1wbGF0ZSBpcyBkaXNwbGF5ZWQgZm9yIGV2ZXJ5IGVsZW1lbnQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2hvd2FjdGlvbmFsd2F5cztcblxuICAgIC8qKlxuICAgICAqIEN1c3RvbSB0ZW1wbGF0ZSBmb3IgYWN0aW9ucyBwZXIgbm9kZS4gVGVtcGxhdGUgcGFyYW1ldGVycyBhcmU6ICdub2RlJ1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHRlbXBsYXRlYWN0aW9uOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIHRlbXBsYXRlIGZvciBpY29uIHBlciBub2RlLiBUZW1wbGF0ZSBwYXJhbWV0ZXJzIGFyZTogJ25vZGUnXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdGVtcGxhdGVpY29uOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIHRlbXBsYXRlIGZvciB0aGUgbGFiZWwgYXJlYSBwZXIgbm9kZS4gVGVtcGxhdGUgcGFyYW1ldGVycyBhcmU6ICdub2RlJyBhbmQgJ2xhYmVsJ1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHRlbXBsYXRlbGFiZWw6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiBSZXNvdXJjZSBLZXkgZsO8ciBWYWxpZGF0aW9uIE1lc3NhZ2UgUmVxdWlyZWQgYmVpIENvbnRyb2xcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgdmFsaWRhdGlvbm1lc3NhZ2VyZXF1aXJlZDogc3RyaW5nID0gdGhpcy52YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JSZXF1aXJlZDtcblxuICAgIC8qKlxuICAgICAqIFJlc291cmNlIEtleSBmw7xyIFZhbGlkYXRpb24gTWVzc2FnZSBSZXF1aXJlZCBpbiBWYWxpZGF0aW9uIFN1bW1hcnlcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB2YWxpZGF0aW9ubWVzc2FnZXN1bW1hcnlyZXF1aXJlZDogc3RyaW5nID0gdGhpcy52YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JTdW1tYXJ5UmVxdWlyZWQ7XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcblxuICAgIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3RvclxuICAgICAqIEBwYXJhbSBpbmplY3RvciBTZXJ2aWNlIEluamVjdG9yXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoQEhvc3QoKSBmb3JtbGF5b3V0OiBTYWNGb3JtTGF5b3V0Q29tbW9uLCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgc3VwZXIoZm9ybWxheW91dCwgaW5qZWN0b3IpO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICBwdWJsaWMgZ2V0IGljb25BY3Rpb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWNvblNlcnZpY2UuVHJlZXZpZXdOb2RlQWN0aW9uSWNvbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDU1MgaWNvbiBmb3IgZm9sZGVycyBpbiB0cmVlIHRoZXJlIGFyZSBjb2xsYWJzZWRcbiAgICAgKiBAcmV0dXJucyBjc3MgY2xhc3Mgd2l0aCBpY29uXG4gICAgICovXG4gICAgcHVibGljIGdldCBpY29uRm9sZGVyQ29sbGFic2VkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmljb25TZXJ2aWNlLlRyZWV2aWV3Tm9kZUNsb3NlZEljb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ1NTIGljb24gY2xhc3MgZm9yIGZvbGRlcnMgd2l0aG91dCBzdWJmb2xkZXJzXG4gICAgICogQHJldHVybnMgY3NzIGNsYXNzIHdpdGggaWNvblxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgaWNvbkZvbGRlckVtcHR5KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmljb25TZXJ2aWNlLlRyZWV2aWV3Tm9kZUVtcHR5SWNvbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDU1MgaWNvbiBmb3IgZm9sZGVycyBpbiB0cmVlIHRoZXJlIGFyZSBleHBhbmRlZFxuICAgICAqIEByZXR1cm5zIGNzcyBjbGFzcyB3aXRoIGljb25cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGljb25Gb2xkZXJPcGVuKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmljb25TZXJ2aWNlLlRyZWV2aWV3Tm9kZU9wZW5JY29uO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcblxuICAgIC8vICNyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgb2YgYSBjZXJ0YWluIHNpemUuIElzIHJlcXVpcmVkIGZvciBhIEZvciBpbiB0aGUgVUksIGFzIEFuZ3VsYXIgZG9lcyBub3Qgc3VwcG9ydCBjb3VudGluZyBsb29wc1xuICAgICAqIEBwYXJhbSBzaXplIFNpemUgb2YgdGhlIGFycmF5XG4gICAgICogQHJldHVybnMgQXJyYXlcbiAgICAgKi9cbiAgICBwdWJsaWMgY291bnQoc2l6ZTogbnVtYmVyKTogQXJyYXk8dm9pZD4ge1xuICAgICAgICByZXR1cm4gbmV3IEFycmF5KHNpemUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDaGlsZHJlbihub2RlOiBhbnkpOiBhbnlbXSB7XG4gICAgICAgIGlmICghbm9kZSB8fCAhdGhpcy5hdHRyY2hpbGRyZW4pIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBjaGlsZHJlbiA9IG5vZGVbdGhpcy5hdHRyY2hpbGRyZW5dO1xuXG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheShjaGlsZHJlbikpIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjaGlsZHJlbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0U3RyaW5nRmllbGQobm9kZTogYW55LCBmaWVsZG5hbWU6IHN0cmluZyk6IGFueSB7XG4gICAgICAgIGlmICghbm9kZSkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFmaWVsZG5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiBub2RlO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHZhbHVlID0gbm9kZVtmaWVsZG5hbWVdO1xuXG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFzQ2hpbGRyZW4obm9kZTogYW55KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldENoaWxkcmVuKG5vZGUpLmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgcHVibGljIGlzRGlzYWJsZWRTdGF0ZShub2RlOiBhbnkpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFub2RlIHx8ICF0aGlzLmF0dHJkaXNhYmxlYWN0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgdmFsdWUgPSBub2RlW3RoaXMuYXR0cmRpc2FibGVhY3Rpb25dO1xuICAgICAgICByZXR1cm4gdmFsdWUgPT09IHRydWUgfHwgdmFsdWUgPT09ICd0cnVlJztcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNFeHBhbmRlZFN0YXRlKG5vZGU6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIW5vZGUgfHwgIXRoaXMuYXR0cmV4cGFuZGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgdmFsdWUgPSBub2RlW3RoaXMuYXR0cmV4cGFuZGVkXTtcbiAgICAgICAgcmV0dXJuIHZhbHVlID09PSB0cnVlIHx8IHZhbHVlID09PSAndHJ1ZSc7XG4gICAgfVxuXG4gICAgcHVibGljIGlzSG92ZXJTdGF0ZShub2RlOiBhbnkpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFub2RlIHx8ICF0aGlzLmF0dHJob3ZlcnN0YXRlKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgdmFsdWUgPSBub2RlW3RoaXMuYXR0cmhvdmVyc3RhdGVdO1xuICAgICAgICByZXR1cm4gdmFsdWUgPT09IHRydWUgfHwgdmFsdWUgPT09ICd0cnVlJztcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNTZWxlY3RlZFN0YXRlKG5vZGU6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIW5vZGUgfHwgIXRoaXMuYXR0cnNlbGVjdGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgdmFsdWUgPSBub2RlW3RoaXMuYXR0cnNlbGVjdGVkXTtcbiAgICAgICAgcmV0dXJuIHZhbHVlID09PSB0cnVlIHx8IHZhbHVlID09PSAndHJ1ZSc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWV0aG9kIGlzIGNhbGxlZCBieSBjbGlja2luZyBhbiBhY3Rpb25cbiAgICAgKiBAcGFyYW0gYWN0aW9uIGFjdGlvbiBhbmQgbm9kZVxuICAgICAqL1xuICAgIHB1YmxpYyBvbkFjdGlvbkNsaWNrZWQoYWN0aW9uOiBUcmVldmlld0FjdGlvbikge1xuICAgICAgICB0aGlzLmFjdGlvbmNsaWNrZWQuZW1pdChhY3Rpb24pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1ldGhvZCBpcyBjYWxsZWQgd2hlbiBOb2RlIGluIFRyZWUgaXMgY2xpY2tlZFxuICAgICAqIEBwYXJhbSBub2RlIFNlbGVjdGVkIE5vZGVcbiAgICAgKi9cbiAgICBwdWJsaWMgb25Ob2RlQ2xpY2tlZChub2RlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNEaXNhYmxlZFN0YXRlKG5vZGUpIHx8IHRoaXMuaXNTZWxlY3RlZFN0YXRlKG5vZGUpKSB7XG4gICAgICAgICAgICB0aGlzLmludmVydEV4cGFuZGVkU3RhdGUobm9kZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNldFNlbGVjdGVkU3RhdGUobm9kZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgaG92ZXIgc3RhdGUgb24gYSBub2RlXG4gICAgICogQHBhcmFtIG5vZGUgTm9kZSBvbiB3aGljaCB0aGUgc3RhdHVzIGlzIHNldFxuICAgICAqIEBwYXJhbSBzdGF0ZSBBY3RpdmF0ZSBvciBkZWFjdGl2YXRlIEhvdmVyU3RhdGVcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0SG92ZXJTdGF0ZShub2RlOiBhbnksIHN0YXRlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICghbm9kZSB8fCAhdGhpcy5hdHRyaG92ZXJzdGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHN0YXRlKSB7XG4gICAgICAgICAgICBub2RlW3RoaXMuYXR0cmhvdmVyc3RhdGVdID0gdHJ1ZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghbm9kZS5oYXNPd25Qcm9wZXJ0eSh0aGlzLmF0dHJob3ZlcnN0YXRlKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZGVsZXRlIG5vZGVbdGhpcy5hdHRyaG92ZXJzdGF0ZV07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgc2VsZWN0ZWQgc3RhdGUgb24gYSBub2RlXG4gICAgICogQHBhcmFtIG5vZGUgTm9kZSB3aGljaCBpcyBtYXJrZWQgYXMgU2VsZWN0ZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0U2VsZWN0ZWRTdGF0ZShub2RlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFub2RlIHx8ICF0aGlzLmF0dHJzZWxlY3RlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gcmVzZXQgc2VsZWN0ZWQgc3RhdGUgb2YgYW55IG5vZGVcbiAgICAgICAgdGhpcy5kYXRhLmZvckVhY2goKHJvb3ROb2RlKSA9PiB0aGlzLnJlc2V0U2VsZWN0ZWRTdGF0ZShyb290Tm9kZSkpO1xuXG4gICAgICAgIC8vIHNldCBzZWxlY3RlZCBub2RlIGFzIHNlbGVjdGVkXG4gICAgICAgIG5vZGVbdGhpcy5hdHRyc2VsZWN0ZWRdID0gdHJ1ZTtcblxuICAgICAgICAvLyBFeHRyYWN0IElEIGZyb20gTm9kZVxuICAgICAgICBjb25zdCBpZFZhbHVlID0gbm9kZVt0aGlzLmF0dHJpZF07XG5cbiAgICAgICAgLy8gVXBkYXRlIG5nTW9kZWxcbiAgICAgICAgdGhpcy5zZXRWYWx1ZShpZFZhbHVlKTtcblxuICAgICAgICAvLyBSYWlzZSBTZWxlY3RlZCBFdmVudHNcbiAgICAgICAgdGhpcy5zZWxlY3RlZG5vZGUuZW1pdChub2RlKTtcblxuICAgICAgICBpZiAoIXRoaXMuYXR0cmlkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgaWQgPSB0aGlzLmdldFN0cmluZ0ZpZWxkKG5vZGUsIHRoaXMuYXR0cmlkKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZC5lbWl0KGlkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGF0ZXMgdGhlIG1vZGVsIHN0YXRlIG9mIHRoZSBjb250cm9sXG4gICAgICogQHBhcmFtIGMgQ29udHJvbCBpbnN0YW5jZVxuICAgICAqIEByZXR1cm5zIFJldHVybnMgYSB2YWxpZGF0aW9uIGVycm9yLCBpZiBwcmVzZW50LiBPdGhlcndpc2UsIGFzIFJlc3VsdCBpcyBOVUxMXG4gICAgICovXG4gICAgcHVibGljIHZhbGlkYXRlRGF0YShjOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgICAgIGxldCBlcnJvcjogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPSBudWxsO1xuXG4gICAgICAgIGlmICh0aGlzLmlzcmVxdWlyZWQpIHtcbiAgICAgICAgICAgIGVycm9yID0gVmFsaWRhdGlvbi5yZXF1aXJlZCh0aGlzLnZhbGlkYXRpb25tZXNzYWdlcmVxdWlyZWQsIHRoaXMudmFsaWRhdGlvbm1lc3NhZ2VzdW1tYXJ5cmVxdWlyZWQpKGMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGVycm9yO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNhdmVzIHRoZSBkYXRhIGZyb20gdGhlIG1vZGVsIGJpbmRpbmdcbiAgICAgKiBAcGFyYW0gdmFsdWUgSWQgb2YgdGhlIHNlbGVjdGVkIG5vZGVcbiAgICAgKi9cbiAgICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xuXG4gICAgICAgIC8vIERvIG5vdCBwcmVzZWxjdCBpdGVtIHdoZW4gdHJlZSBpcyBlbXB0eVxuICAgICAgICBpZiAoIXRoaXMuZGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kYXRhLmZvckVhY2goKHJvb3QpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuZmluZE5vZGVCeUlkKHJvb3QsIHZhbHVlKTtcblxuICAgICAgICAgICAgaWYgKHJlc3VsdCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0U2VsZWN0ZWRTdGF0ZShyZXN1bHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgICAvLyAjcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xuXG4gICAgLyoqXG4gICAgICogU2VhcmNoZXMgZm9yIGEgbm9kZSBiYXNlZCBvbiB0aGUgdmFsdWUgaW4gdGhlIElEIGF0dHJpYnV0ZVxuICAgICAqIEBwYXJhbSBub2RlIE5vZGVcbiAgICAgKiBAcGFyYW0gdmFsdWUgVmFsdWUgb2YgdGhlIElkIGF0dHJpYnV0ZVxuICAgICAqIEByZXR1cm5zIFJldHVybnMgdGhlIG5vZGUgaWYgaXQgaXMgZm91bmQuIElmIG5vdCwgTlVMTCBpcyByZXR1cm5lZC5cbiAgICAgKi9cbiAgICBwcml2YXRlIGZpbmROb2RlQnlJZChub2RlOiBhbnksIHZhbHVlOiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAoIXRoaXMuYXR0cmlkIHx8ICFub2RlKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChub2RlW3RoaXMuYXR0cmlkXSA9PT0gdmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiBub2RlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSB0aGlzLmdldENoaWxkcmVuKG5vZGUpO1xuICAgICAgICBmb3IgKGxldCBjaGlsZCBvZiBjaGlsZHJlbikge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5maW5kTm9kZUJ5SWQoY2hpbGQsIHZhbHVlKTtcbiAgICAgICAgICAgIGlmIChyZXN1bHQgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbnZlcnRFeHBhbmRlZFN0YXRlKG5vZGU6IGFueSkge1xuICAgICAgICBpZiAoIW5vZGUgfHwgIXRoaXMuYXR0cmV4cGFuZGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJdGVtcyB3aXRoIG5vIGNoaWxkcmVuIGNhbm5vdCBiZSBjb2xsYWJzZWRcbiAgICAgICAgaWYgKCF0aGlzLmhhc0NoaWxkcmVuKG5vZGUpICYmICEodGhpcy5lbmFibGVhc3luY2hsb2FkID09PSB0cnVlIHx8IHRoaXMuZW5hYmxlYXN5bmNobG9hZCA9PT0gJ3RydWUnKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHZhbHVlID0gbm9kZVt0aGlzLmF0dHJleHBhbmRlZF07XG5cbiAgICAgICAgaWYgKHZhbHVlID09PSB0cnVlIHx8IHZhbHVlID09PSAndHJ1ZScpIHtcbiAgICAgICAgICAgIHRoaXMuY29sbGFic2VkLmVtaXQobm9kZSk7XG4gICAgICAgICAgICBub2RlW3RoaXMuYXR0cmV4cGFuZGVkXSA9IGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5leHBhbmRlZC5lbWl0KG5vZGUpO1xuICAgICAgICAgICAgbm9kZVt0aGlzLmF0dHJleHBhbmRlZF0gPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXNldFNlbGVjdGVkU3RhdGUobm9kZTogYW55KSB7XG4gICAgICAgIGlmICghbm9kZSB8fCAhdGhpcy5hdHRyc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIG5vZGVbdGhpcy5hdHRyc2VsZWN0ZWRdID0gZmFsc2U7XG5cbiAgICAgICAgdGhpcy5nZXRDaGlsZHJlbihub2RlKS5mb3JFYWNoKChjaGlsZCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZXNldFNlbGVjdGVkU3RhdGUoY2hpbGQpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xufVxuIl0sIm1hcHBpbmdzIjoieTJ6Q0EwS0k7QUFBQUEsY0FBQSxTQUFBQSxDQUFBLFNBQUFDLGNBQUEsV0FBQUEsY0FBQSxFQUFBRCxjQUFBLEdBMUtKLE9BQVNFLG1CQUFtQixLQUFRLCtCQUErQixDQUVuRSxPQUFTQyxVQUFVLEtBQVEsa0JBQWtCLENBRTdDLE9BQVNDLFNBQVMsQ0FBRUMsWUFBWSxDQUFF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
|